You are on page 1of 16

OS FAQs

An example explaining Mutex and Semaphore Mutex: 1. Serial access one room is available with a Key for it. one guy will have the key and will enter the room. so making others to wait for access.once done, he gives the key to the other 2. Mutex is semaphore of value 1 Semaphores: 1. N resources access say for example 4 rooms of same type are there; a single key can be used for all rooms. Every person has a copy of this key. at the start semaphore value set to 4(4 rooms are free), once any user gets in ; semaphore decrements the value; once done he will increment saying it ; its FREE Thus users can enter rooms anytime the semaphore value indicates theres atleast one room free (i.e semaphore value greater than zero) 1. What is the difference between a thread and a process? A process is a collection of virtual memory space, code, data, and system resources. A thread is code that is to be serially executed within a process. A processor executes threads, not processes, so each application has at least one process, and a process always has at least one thread of execution, known as the primary thread. A process can have multiple threads in addition to the primary thread. Prior to the introduction of multiple threads of execution, applications were all designed to run on a single thread of execution. When a thread begins to execute, it continues until it is killed or until it is interrupted by a thread with higher priority (by a user action or the kernels thread scheduler). Each thread can run separate sections of code, or multiple threads can execute the same section of code. Threads executing the same block of code maintain separate stacks. Each thread in a process shares that processs global variables and resources. 2. What is INODE? Data structures that contain information about the files that are created when unix file systems are created.Each file has an i-node & is identified by an inode number(i-number) in the file system where it resides.inode provides important information on files such as group ownership,acess mode(read,write,execute permissions). 3. Explain Memory Partitioning, Paging, Segmentation. Memory Allocation Contiguous Non contiguous

Contiguous: This involves portioning memory into OS area and USER PROCESS area.

The user process area can consist of multiple memory partitions in turn. Partitions that are free are called holes. How to allocate a process the required memory involves finding an appropriate hole. Algorithms like first-fit, best-fit and worst-fit are used for hole selection first fit is allocating the first largest hole that is large enough to hold the process. best-fit is finding the hole whose size is exactly that of process or is the smallest hole that is large enough. worst-fit is allocating the largest hole available. Holes can be maintained in a linked list. So, first fit is generally faster in terms of searching. Both first fit and best fit work better than worst-fit. All this suffer from external fragmentation because the holes may get scattered over time and hence not serve to fit in a large process. Non Contiguous: Paging, Segmentation, Segmentation with paging Paging Helps to keep the physical address space of a process to be non-contiguous i.e the process can be fit in memory in parts wherever free space is available. New setup: Physical memory is divided into frames Logical memory is divided into pages A frame has the same size as a page is a place where a (logical) page can be (physically) placed ogical to Physical Say a process A has size 40 kb. and a page size (hence frame size) is 10 kb. The Logical address space of the process has 4 pages. Page 0 Page 1 Page 2 Page 3 Logical memory Let the main memory be of size 100 kb and since each frame size is 10 kb well have 10 frames physically. 0 ------1 Page 0 2 ------3 Page 2 4 Page 1 5 -------6 -------7 Page 3 8 --------9 --------Physical memory with frame numbers and pages in each frame

The pages are numbered 0,1,2,3. The page table helps us store which page is stored in which frame .physically 0 1 1 4 2 3 3 7 Page table Page size is defined by the hardware. Must be carefully chosen: too large means more internal fragmentation, too small means too much overhead in paging management and processing. The physical memory used by a process is no longer contiguous The logical memory of a process is still contiguous The logical and physical addresses are separated Small page tables Example (PDP-11) 16-bit addresses with 8 KB page size kept in dedicated registers, updated (like all registers) at context switch. Larger page tables Modern systems can have millions of pages.Move the page table to main memory, addressed by Page Table Base Register (PTBR) which is updated at context switch. Problem: Each logical memory reference generates two physical references (one for page table, one for real access). Solution: Translation Look-aside Buffer (TLB): fast cache with associative memory. (Keeps only recently used Page Table entries) Associative memory looks up the key (page number) in parallel with cache - very fast, very expensive. Very large page tables Split the page number part in two: outer and inner page number/tables. Each page table will now be 1K (easier to handle) Other solutions: 64-bit architectures require more complexity: multi-level page tables or hashed page tables. Inverted page tables --- rather than having varying size page tables for each process, have a fixed size inverted page table., whose size is determined by the number of frames in main memory. At any point of time, the inverted page table will list the frames and pages stored in them. pages may belong to different processes. So searchin the inverted page table is difficult. access time increases. Shared pages Example 40 users, each of whom executes a text editor 150 KB of code 50 KB of data We need 8 000 MB If one copy of the text editor is shared we Need 150+ (40*50) = 2 150 KB If text editor code is reentrant, it can be shared i.e.Non self-modifying code.

code state (variables, temp results) should be local to each process. shared code pages should not be writable. Examples are Compiler, Window System, run-time libraries, database systems,. Segmentation User preference View memory as a collection of variable-sized segments, rather than a linear array of bytes Separate segments for different types of memory content: main program program libraries constants stack objects symbol table ... and each segment can have its own protection, grow independently, etc... Logical address Pair: <segment-number, offset> Note: paging needs one address, implicitly split by hardware Segmentation it can called "paging with variable page size" Advantages: memory protection added to segment table like paging sharing of memory similar to paging (but per area rather than per page) Drawbacks: allocation algorithms as for memory partitions external fragmentation, back to compaction problem... Solution: combine segmentation and paging! Paging: Transparent to programmer (system allocates memory) No separate protection No separate compiling No shared code Segmentation: Involves programmer (allocates memory to specific function inside code) Separate compiling Separate protection Share code 4. Explain Scheduling. 5. Explain Unix Kernel The kenel is a control core of UNIX. It is the part of operating system that interacts directly with the hardware of the computer system , throuth device driver that are built into the kernel. The

kernel remains in the machine memory untill you shut down the computer .Programs can communicate with hardware only by using kernel as interface . The main fuction of kernel are : 1. to manage computer memory 2. to control access to computer 3. to maintain the file system 4. to handle interrupts 5. to perform input-output services 6. Operating System Security. can talk about base and limit registers, kernel mode 7. What type of multi-taksing in Windows NT pre-emptive multitasking 8. What is Marshalling? Ans: The process of packaging and sending interface method parameters across thread or process boundaries. The process of gathering data and transforming it into a standard format before it is transmitted over a network so that the data can transcend network boundaries. In order for an object to be moved around a network, it must be converted into a data stream that corresponds with the packet structure of the network transfer protocol. This conversion is known as data marshalling. Data pieces are collected in a message buffer before they are marshaled. When the data is transmitted, the receiving computer converts the marshaled data back into an object. 9. Difference - Loading and Linking ? Linking: Resolving unresolved references to code. Loading: Actually loading program to memory (allocating addresses to segments). Other questions for UNIX / Linux Admin at major internet company: What port is SSH? What port is DNS? Is it UDP or TCP? What does it mean to setuid? What is the main differents b/w vx-works and liunux os? Ans) Vx-works is real time operation system LINUX is general OS , also can be confugured for RTOS

VxWorks is embedded OS while Linux OS is gereric OS, main difference is as : 1. If change the sceduling of one process from A to B then the others task have no effect in linux but in VxWorks all tasks scheduling change to B, i.e. in VxWorks all the task have same scheduling but in linux it can be different. In Vxworks you can access any memory location(should be exist), but in linux you can access only the segment which have allocated for that process. Multi-user - A multi-user operating system allows for multiple users to use the same computer at the same time and/or different times. See our multi-user dictionary definition for a complete definition for a complete definition. Below are some examples of multi-user operating systems. Linux Unix Windows 2000,XP MacOS Multiprocessing - An operating system capable of supporting and utilizing more than one computer processor. Below are some examples of multiprocessing operating systems. Linux Unix Windows 2000,XP MacOS Multitasking - An operating system that is capable of allowing multiple software processes to run at the same time. Below are some examples of multitasking operating systems. Unix Windows 2000,XP MacOs Multithreading - Operating systems that allow different parts of a software program to run concurrently. Operating systems that would fall into this category are: Linux Unix Windows 2000,XP MacOS Why do u prefer linux over windows ? or) How linux differs from windows ? Linux is an open-source Operating System. People can change codes and add programs to Linux OS which will help use your computer better. Linux evolved as a reaction to the monopoly position of windows. you can't change any code for windows OS. You can't even see which processes do what and build your onw extension. Linux wants the programmers to extend and redesign it's OS. Linux user's can edit its OS and design new OS. All flavors of Windows come from Microsoft. Linux come from different companies like LIndows , Lycoris, Red Hat, SuSe, Mandrake, Knopping, Slackware. Linux is customizable but Windows is not. For example,NASlite is a version of Linux that runs off a single floppy disk and converts an old computer into a file server. This ultra small edition of Linux is capable of networking, file sharing and being a web server. Linux is freely available for desktop or home use but Windows is expensive. For server use, Linux is cheap compared to Windows. Microsoft allows a single copy of Windows to be used on one computer. You can run Linux on any number of computers.

Linux has hign security. You have to log on to Linux with a userid and password. You can login as root or as normal user. The root has full previlage. Linux has a reputation for fewer bugs than Windows. Windows must boot from a primary partition. Linux can boot from either a primary partition or a logical partition inside an extended partition. Windows must boot from the first hard disk. Linux can boot from any hard disk in the computer. Windows uses a hidden file for its swap file. Typically this file resides in the same partition as the OS (advanced users can opt to put the file in another partition). Linux uses a dedicated partition for its swap file. Windows separates directories with a back slash while Linux uses a normal forward slash. Windows file names are not case sensitive. Linux file names are. For example "abc" and "aBC" are different files in Linux, whereas in Windows it would refer to the same file. Windows and Linux have different concepts for their file hierarchy. Windows uses a volume-based file hierarchy while Linux uses a unified scheme. Windows uses letters of the alphabet to represent different devices and different hard disk partitions. eg: c: , d: , e: etc.. while in linux " / " is the main directory. Linux and windows support the concept of hidden files. In linux hidden files begin with " . ", eg: .filename In Linux each user will have a home directory and all his files will be save under it while in windows the user saves his files anywhere in the drive. This makes difficult to have backup for his contents. In Linux its easy to have backup's. Some basic questions 1. Explain the concept of Reentrancy. It is a useful, memory-saving technique for multiprogrammed timesharing systems. A Reentrant Procedure is one in which multiple users can share a single copy of a program during the same period. Reentrancy has 2 key aspects: The program code cannot modify itself, and the local data for each user process must be stored separately. Thus, the permanent part is the code, and the temporary part is the pointer back to the calling program and local variables used by that program. Each execution instance is called activation. It executes the code in the permanent part, but has its own copy of local variables/parameters. The temporary part associated with each activation is the activation record. Generally, the activation record is kept on the stack. Note: A reentrant procedure can be interrupted and called by an interrupting program, and still execute correctly on returning to the procedure. 2. Explain Beladys Anomaly. Also called FIFO anomaly. Usually, on increasing the number of frames allocated to a process virtual memory, the process execution is faster, because fewer page faults occur. Sometimes, the reverse

happens, i.e., the execution time increases even when more frames are allocated to the process. This is Beladys Anomaly. This is true for certain page reference patterns. 3. What is a binary semaphore? What is its use? A binary semaphore is one, which takes only 0 and 1 as values. They are used to implement mutual exclusion and synchronize concurrent processes. 4. What is thrashing? It is a phenomenon in virtual memory schemes when the processor spends most of its time swapping pages, rather than executing instructions. This is due to an inordinate number of page faults. 5. List the Coffmans conditions that lead to a deadlock. Mutual Exclusion: Only one process may use a critical resource at a time. Hold & Wait: A process may be allocated some resources while waiting for others. No Pre-emption: No resource can be forcible removed from a process holding it. Circular Wait: A closed chain of processes exist such that each process holds at least one resource needed by another process in the chain. 6. What are short-, long- and medium-term scheduling? Long term scheduler determines which programs are admitted to the system for processing. It controls the degree of multiprogramming. Once admitted, a job becomes a process. Medium term scheduling is part of the swapping function. This relates to processes that are in a blocked or suspended state. They are swapped out of real-memory until they are ready to execute. The swapping-in decision is based on memory-management criteria. Short term scheduler, also know as a dispatcher executes most frequently, and makes the finestgrained decision of which process should execute next. This scheduler is invoked whenever an event occurs. It may lead to interruption of one process by preemption. 7. What are turnaround time and response time? Turnaround time is the interval between the submission of a job and its completion. Response time is the interval between submission of a request, and the first response to that request. 8. What are the typical elements of a process image? User data: Modifiable part of user space. May include program data, user stack area, and programs that may be modified. User program: The instructions to be executed. System Stack: Each process has one or more LIFO stacks associated with it. Used to store parameters and calling addresses for procedure and system calls. Process control Block (PCB): Info needed by the OS to control processes. 9. What is the Translation Lookaside Buffer (TLB)? In a cached system, the base addresses of the last few referenced pages is maintained in registers called the TLB that aids in faster lookup. TLB contains those page-table entries that have been most recently used. Normally, each virtual memory reference causes 2 physical memory accesses one to fetch appropriate page-table entry, and one to fetch the desired data. Using TLB in-between, this is reduced to just one physical memory access in cases of TLB-hit.

11. When is a system in safe state? The set of dispatchable processes is in a safe state if there exists at least one temporal order in which all processes can be run to completion without resulting in a deadlock. 12. What is cycle stealing? We encounter cycle stealing in the context of Direct Memory Access (DMA). Either the DMA controller can use the data bus when the CPU does not need it, or it may force the CPU to temporarily suspend operation. The latter technique is called cycle stealing. Note that cycle stealing can be done only at specific break points in an instruction cycle. 15. What is busy waiting? The repeated execution of a loop of code while waiting for an event to occur is called busy-waiting. The CPU is not engaged in any real productive activity during this period, and the process does not progress toward completion. 17. When does the condition rendezvous arise? In message passing, it is the condition in which, both, the sender and receiver are blocked until the message is delivered. 18. What is a trap and trapdoor? Trapdoor is a secret undocumented entry point into a program used to grant access without normal methods of access authentication. A trap is a software interrupt, usually the result of an error condition. 19. What are local and global page replacements? Local replacement means that an incoming page is brought in only to the relevant process address space. Global replacement policy allows any page frame from any process to be replaced. The latter is applicable to variable partitions model only. 20. Define latency, transfer and seek time with respect to disk I/O. Seek time is the time required to move the disk arm to the required track. Rotational delay or latency is the time it takes for the beginning of the required sector to reach the head. Sum of seek time (if any) and latency is the access time. Time taken to actually transfer a span of data is transfer time. 22. What is time-stamping? It is a technique proposed by Lamport, used to order events in a distributed system without the use of clocks. This scheme is intended to order events consisting of the transmission of messages. Each system i in the network maintains a counter Ci. Every time a system transmits a message, it increments its counter by 1 and attaches the time-stamp Ti to the message. When a message is received, the receiving system j sets its counter Cj to 1 more than the maximum of its current value and the incoming time-stamp Ti. At each site, the ordering of messages is determined by the following rules: For messages x from site i and y from site j, x precedes y if one of the following conditions holds.(a) if Ti 23. How are the wait/signal operations for monitor different from those for semaphores? If a process in a monitor signal and no task is waiting on the condition variable, the signal is lost. So this allows easier program design. Whereas in semaphores, every operation affects the value of the semaphore, so the wait and signal operations should be perfectly balanced in the program.

24. In the context of memory management, what are placement and replacement algorithms? Placement algorithms determine where in available real-memory to load a program. Common methods are first-fit, next-fit, best-fit. Replacement algorithms are used when memory is full, and one process (or part of a process) needs to be swapped out to accommodate a new program. The replacement algorithm determines which are the partitions to be swapped out. Why paging is used? -Paging is solution to external fragmentation problem which is to permit the logical address space of a process to be noncontiguous, thus allowing a process to be allocating physical memory wherever the latter is available. While running DOS on a PC, which command would be used to duplicate the entire diskette? diskcopy What resources are used when a thread created? How do they differ from those when a process is created? When a thread is created the threads does not require any new resources to execute the thread shares the resources like memory of the process to which they belong to. The benefit of code sharing is that it allows an application to have several different threads of activity all within the same address space. Whereas if a new process creation is very heavyweight because it always requires new address space to be created and even if they share the memory then the inter process communication is expensive when compared to the communication between the threads. What is virtual memory? Virtual memory is hardware technique where the system appears to have more memory that it actually does. This is done by time-sharing, the physical memory and storage parts of the memory one disk when they are not actively being used. Using hard disk to give an illusion of having greater RAM than that exsiting actually. What is Throughput, Turnaround time, waiting time and Response time? Throughput number of processes that complete their execution per time unit. Turnaround time amount of time to execute a particular process. Waiting time amount of time a process has been waiting in the ready queue. Response time amount of time it takes from when a request was submitted until the first response is produced, not output (for time-sharing environment). What Is C2 Security? C2 security is generally described as discretionary access security. Many C2 features will seem obvious. Here are a few of the requirements of a C2-evaluated product:

Each user must have a unique logon ID and a password, which they must enter before they can access the system. The user's logon ID and password must be protected from capture or eavesdropping. The Windows NT logon dialog initiation keyboard sequence (Ctrl+Alt+Del) is the first line of defense against Trojan Horse programs that seek to steal a user's ID and password. Users are completely accountable for all their actions and the actions of the processes that they initiate.

The system must provide auditing of any user's or process's attempt to access, read, write, or delete any object. The owner of a resource or object can grant access to other users or groups of users. (This is what is meant by discretionary access, which is at the discretion of the object owner.) However, the default access to any object is always no access. Objects that have been deleted cannot be reused. This is why deleted files on NTFS (New Technology File System) volumes cannot be recovered. A file server would not be very secure if someone, even an administrator, could recover deleted files that they did not own. Consider deleted payroll records as an example. Objects in memory are protected from unauthorized access. Memory is reinitialized before it can be reused. Because of this, memory objects that are deallocated cannot be accessed by another user or process. Administrators do not have access privileges to files that they do not own. If an administrator takes ownership of an object, the original owner will know it.

Refresh RAID from book what is bit interleaving, mirroring, disk interleaving.. CPU scheduling algorithms Page replacement algorithms Deadlocks definition conditions prevention Filesystems The most commonly encountered file systems on removeable media are: Windows 2000 and NT (NTFS), MS-DOS (FAT), Windows 95 (VFAT and FAT32), Macintosh (HFS and HFS+), and UNIX (UFS) Windows XP Professional supports the FAT16, FAT32, and NTFS file systems. Because NTFS has all the basic capabilities of FAT16 and FAT32, with the added advantage of advanced storage features such as compression, improved security, and larger partitions and file sizes, it is the recommended file system for Windows Vista. Some features that are available when you choose NTFS:

File encryption allows you to protect files and folders from unauthorized access. Permissions can be set on individual files, as well as on folders. Disk quotas allow you to monitor and control the amount of disk space used by individual users.

Better scalability allows you to use large volumes. The maximum volume size for NTFS is much greater than it is for FAT. Additionally, NTFS performance does not degrade as volume size increases, as it does in FAT systems. Recovery logging of disk activities helps restore information quickly in the event of power failure or other system problems.

What is a file system?


Even though hard drives can be very small, they still contain millions of bits and therefore need to be organised so that information can be located. This is the purpose of the file system. Remember that a hard drive is made up of several circular platters rotating around an axis. The tracks (concentric areas written to on either side of the platter) are divided into pieces called sectors (each 512 bytes in size). Logical formatting of a disk allows a file system to be created on the disk, which in turn will allow an operating system (DOS, Windows 9x, UNIX, ...) to use the disk space to store and use files. The file system is based on management of clusters, the smallest disk unit that the operating system is able to manage. A cluster consists of one or more sectors, so the larger the cluster size, the fewer entities the operating system will have to manage On the other hand, since an operating system only knows how to manage whole allocation units (i.e. a file occupies a whole number of clusters), the more sectors per cluster, the more wasted space there will be. This is why the choice of file system is important.

Files systems and the operating system


In reality, the choice of file system depends first of all on the operating system that you are using. In general, the more recent the operating system, the greater the number of files it will support. So, under DOS and on the first versions of Windows 95, FAT16 is required. Starting with Windows 95 OSR2, you have the choice between FAT16 and FAT32 file systems. If the partition size is greater than 2GB, then FAT file systems are excluded and you need to use the FAT32 system (or modify the size of the partition). Below this limit, FAT16 is recommended for partitions with a capacity of less than 500Mb, otherwise it is preferable to use FAT32. In the case of Windows NT (up until version 4) you have the choice between the FAT16 system and NTFS, FAT32 is not supported. In general, the NTFS system is recommended as it provides higher security and better performance than the FAT system. Microsoft actually recommends using a small FAT-type partition (of between 250 and 500MB) for the operating system, so as to be able to boot from a bootable DOS floppy disk in case of a catastrophe, and to use a second partition for storing your data. Under Windows NT5, there is more choice as it accepts FAT16, FAT32 and NTFS partitions. Once again, the more recent file system (NTFS 5) is recommended, as it offers many more features than the FAT systems. For the same reasons given above, you can still choose to have a FAT-type partition.

Operation system Dos Windows 95 Windows 95 OSR2 Windows 98 Windows NT4 Windows 2000/XP Linux MacOS OS/2 SGI IRIX FreeBSD, OpenBSD Sun Solaris IBM AIX

File system types supported FAT16 FAT16 FAT16, FAT32 FAT16, FAT32 FAT, NTFS (version 4) FAT, FAT16, FAT32, NTFS (versions 4 and 5) Ext2, Ext3, ReiserFS, Linux Swap(, FAT16, FAT32, NTFS) HFS (Hierarchical File System), MFS (Macintosh File System) HPFS (High Performance File System) XFS UFS (Unix File System) UFS (Unix File System) JFS (Journaled File System)

Coexistence of several file systems


When several operating systems coexist on the same machine, the problem of choosing a file system is at its worse. Since the file system is tightly coupled to the operating system, when there are several operating systems you must choose a file system for each, bearing in mind that it is possible that data from one operating system may be accessed from another. One solution would be to use FAT partitions for all the systems, making sure that the partitions are no larger than 2 GB. The most appropriate solution would be to use for each OS a partition whose file system is best suited to it, and to use a a dedicated FAT16 partition for data to be shared by the different operating systems.

The FAT16 file system


The first file system to be used on a Microsoft operating system was the FAT system, which uses a file allocation table. The file allocation table is actually an index which lists the content of the disk in order to record the location of the files on it. Since the blocks making up a file are not always stored contiguously on the disk (a phenomenon called fragmentation), the allocation table allows the file system structure to be maintained by creating links to the blocks making up the file. The FAT system is a 16-bit system that allows files to be identified by a name consisting of up to 8 characters and a 3 character extension, which is why this system is called FAT16. To improve on this, the original version of Windows 95 (using the FAT16 system) was delivered with improved FAT management in the form of the VFAT (Virtual FAT) system. VFAT is a 32-bit system that allows file names of up to 255 characters in length. The programmers had to ensure forward compatibility, however, so that 16-bit (DOS) environments could still access these files. The solution was therefore to assign one name for each system. This is why it is possible to use long file names under Windows 95, but still access them under DOS. The FAT file system is a 16-bit system, which means that cluster addresses can not be bigger than 16 bits. The maximum number of clusters that can be referenced with the FAT system is therefore 216, (65536) clusters. Now, since a cluster consists of a fixed number (4,8,16,32, ...) of sectors of 512 contiguous bytes, the maximum size of FAT partition can be determined by multiplying the number of

clusters by the size of a cluster. With 32Kb clusters, the maximum size of a FAT partition is therefore 2GB. Furthermore, a file can only occupy an integral number of clusters, which means that if a file occupies several clusters, the last cluster will only be partially occupied and the unoccupied space will be unusable. As a result, the smaller the cluster size, the less wasted space. It is estimated that a file wastes, on average, half a cluster, which means that on a 2 GB partition, 16KB will be lost per file

The file allocation table


The File Allocation Table is a list of digital values that describes the allocation of the clusters of a partition or, in other words, the state of each cluster of the partition in which it is located. In fact, each cell of the allocation table corresponds to a cluster. Each cell contains a number that indicates if the cluster is used by a file and, if so, the location of the next cluster in the file. In this way, you end up with a FAT chain, a linked list of references pointing to the successive clusters up until the end of the file. Each FAT entry is 16- or 32-bits long (depending on whether it is FAT16 or FAT32). The first two entries store information about the table itself, while the following entries reference the clusters. Certain entries may contain values indicating the state of the specific cluster. For example, the value 0000 indicates that the cluster is not used, FFF7 marks the cluster as bad so that it will not be used, and values between FFF8 and FFFF specify that the cluster contains the end of a file. Each partition actually contains two copies of the table stored contiguously on the disk, so that it can be recovered if the first copy becomes corrupted.

The FAT32 file system


Although VFAT was a clever system, it did not address the limitations of FAT16. As a result, a new file system (and not just better FAT management as was the case with VFAT) appeared with Windows 95 OSR2. This file system, called FAT32 uses 32-bit values for the FAT entries. In fact, only 28 bits are used, as 4 bits are reserved for future use. With the appearance of the FAT32 file system, the maximum number of clusters per partition went increased from 65535 to 268,435,455 (228-1). FAT32 thus allows much bigger partitions (up to 8 terabytes). Although the maximum theoretical size of a FAT32 partition is 8 TB, Microsoft has voluntarily limited it to 32 GB on Windows 9x systems to promote NTFS (ref: http://support.microsoft.com/default.aspx?scid=kb;en;184006). Since a FAT32 partition can contain many more clusters than a FAT16 partition, it is possible to reduce significantly the size of the clusters and thereby also limit wasted disk space. For example, with a 2GB partition, it is possible to use 4KB clusters with the FAT32 system (instead of 32KB clusters with FAT16), which reduces the wasted space by a factor of 8. The trade-off for this is that FAT32 is not compatible with Windows versions prior to OEM Service Release 2. A system booting up with an earlier version will simply not see this type of partition. Also, 16-bit disk management utilities, such as early versions of Norton Utilities, will no longer work correctly. In terms of performance, using a FAT32 system instead of a FAT16 system will result in a slight performance improvement on the order of 5%.

The NTFS file system

The NTFS file system (New Technology File System) is based on a structure called the "master file table" or MFT, which is able to hold detailed information on files. This system allows the use of long names, but, unlike the FAT32 system, it is case-sensitive, which means that is capable of distinguishing lower-case and upper-case letters. As far as performance goes, file access on an NTFS partition is faster than on a FAT-type partition, as it uses a high-performance binary tree to locate files. The theoretical limit on the size of a partition is 16 exabytes (17 billion TB), but the physical limit of a disk is 2TB. It is at the security level, that NTFS differentiates itself, as it allows attributes to be defined for each file. Version 5 of this file system (standard under Windows 2000 (alias NT 5)) brings even more new features, including heightened performance and per-volume disk quotas defined for each user. NTFS v.5 should also support remote administration...

The master file table


The File Allocation Table is a table of numeric values each cell of which describes the allocation of clusters of a partition, in other words, the state (used or not used by a file) of each cluster in the partition on which it is located. The NTFS file system is based on a different structure, called a master file table, containing records about the files and directories of the partition. The first record, called a descriptor, contains information on the MFT (a copy of it is stored in the second record). The third record contains the log file, a file containing all actions performed on the partition. The following records, making up what is known as the core, reference each file and directory of the partition in the form of objects with assigned attributes. This means that the information concerning each file is stored in a file, which is itself registered inside the MFT. The MFT is therefore a storage structure of the data in the partition, and not a list of clusters.

Go htro this link for conceptual comparisons of linux over other operating systems http://docstore.mik.ua/orelly/linux/run/ch01_08.htm IVT interrupt vector table is also an important concept What is the purpose of IVT, where is it located? (lower part of main memory is the answer..) talk how its related to system calls too.. problems in written test in OS as far I have seen were only with CPU scheduling and PAGE replacement.. paging and segmentation concepts are important in interview but problems were not that frequently asked.. if u say u are proficient in linux, they might ask you linux commands.. also about system32 folder in windows and corresponding files in linux..

You might also like