AN EFFICIENT MEMORY MANAGEMENT TECHNIQUE FOR SMART CARD OPERATING SYSTEM

This research paper examines memory management issues associated with Smart card EEPROM and proposes a new technique for memory management for smart card files. The entire work concentrates to suggest a new methodology on memory allocation and de-allocation using pointers, which gives better memory utilization.


INTRODUCTION
Smart card applications were developed as an alternative to magnetic cards shortcomings [1]. The primary aim of magnetic cards is to provide machine readable data. However, the magnetic cards fails in providing security against tampering. Smart Card integrates large data and provides better security on a single chip. It also provides data security against unauthorized access and any modification of data [5,6].
Currently smart cards are used in different parts of the world for various applications including passport applications, health care applications, institute identity cards, payment systems, Telecommunication Applications, Financial Transaction and many more [9,10].
The memory management issues are of great concern in today's modern applications. This work proposes a new technique for memory management for smart card EEPROM (Electrically Erasable Programmable Read Only Memory) by maintaining a list of free memory blocks to be preserve in the smart card EEPROM called the free space list. This is different from paging scheme in which whole memory is divided into number of page where a table is maintained to keep information about allocated and free pages which takes a fixed size in EEPROM memory [4].The result of this technique has proved to be more effective in terms of memory management of EEPROM.

EEPROM AND SMART CARD FILES
The EEPROM is a chip with non-volatile memory. Data and program codes can be written to and read from the EEPROM under the control of the operating system [3].
File management systems for smart cards have an object-oriented structure which means that all information about a file is stored in a file itself. Files in such object oriented systems are thus always divided into two parts. The first part, referred as the file header, contains information about the layout and structure of the file and its access conditions. The modifiable user data are stored in the second part. The file body is linked to the file header by a pointer [11]. Fig. 1 shows the internal structure of the file. The Memory is allocated/ De-allocated for DF (Dedicated Files) and EF (Elementary Files). DF is the dedicated file just like a folders and EF is the Elementary file used to store the data [2]. Recently a lot of features are added with smart card such as multi application support, security (symmetric and asymmetric) etc for that we also need memory to maintain information [7]. As the size of memory increases the cost increases, therefore there is always a need to develop systems for utilizing the available memory in most effective and efficient way [8].

PROCESS FOR EEPROM MEMORY MANAGEMENT
As per the previous discussion the objective of this paper is to allocate the optimum memory for files with proper utilization of these allocated memory and merging the contiguous free memory blocks for further usage.
Following is the stepwise process of EEPROM Memory management as per the proposed technique. To demonstrate we have taken 20 bytes as header size for both DF and EF, the data area starting address is 1 and ending address is 3000 for simplicity.
We are maintaining a pointer variable (FS_Ptr) which contains information about the starting address of the free space list in the Last 2 bytes of EEPROM. The chain of free blocks is maintained from the end address of the memory that is 3000 minus the size of FS_Ptr. Fig. 2 shows the Structure of the node of Free Block List and Step by step procedure is also laid how to allocate the memory as per the scheme.   Now there will be two continuous free memory blocks, therefore OS will combine them and will make a single block.

TABLE I Memory Usage
It was also observed that memory management by using the proposed scheme overcomes issues such as Easy Allocation/De-allocation, No Internal Fragmentation, Optimal Utilization of Memory, No Page-Size Restriction, Dynamic free block List, and Compaction.