Wednesday, 21 January 2015

Difference between NTFS and FAT file Systems

Characteristics
NTFS
FAT
Stands For
New Technology File System
File Allocation Table.
Partition Size
NTFS support size of files and volumes, up to 2^64 bytes (16 Exabyte’s or 18,446,744,073,709,551,616 bytes).
FAT partitions are limited in size to a maximum of 4 Gigabytes (GB) under Windows NT and 2 GB in MS-DOS.
Naming Conventions
File and directory names can be up to 255 characters long, including
any extensions.
It follows 8.3 naming convention. The name of a file or directory can be up to eight characters long, then a period (.) separator, and up to a three character extension.
Suitable Volume size
It is not recommended to use NTFS on a volume that is smaller than approximately 400 MB, because of the amount of space overhead involved in
NTFS. This space overhead is in the form of NTFS system files that typically
use at least 4 MB of drive space on a 100 MB partition.
FAT file system should not be used in drives or partitions of over 200 MB. This is because as the size of the

Difference between High Level and Low Level Formatting

Sr. No.
High Level Formatting
Low Level Formatting
1
High-level formatting is the process of setting up an empty file system on a disk partition or logical volume and, for PCs, installing a boot sector. It creates the file system format within a disk partition or a logical volume. This formatting includes the data structures used by the OS to identify the logical drive or partition’s contents.
Low-level formatting is the process of outlining the positions of the tracks and sectors on the hard disk, and writing the control structures that define where the tracks and sectors are. It really creates the physical format that defines where the data is stored on the disk.
2
It can be done during OS installation or new partition creation.
This is intended to be the permanent foundation of the disk, and is often completed at the factory.

CPU Scheduling Techniques

Round-Robin Scheduling

It is the CPU Scheduling Technique specially designed  for the time shared systems. This Technique is similar to FCFS Technique but the difference is that processes are switched at a regular interval of time and the regular internal is called time quantum.The can be from 0 to 100 milliseconds.

The ready queue is used in a circular fashion. The CPU is allocated to each process for a regular interval of time of 1 time quantum each new process is added to the tail ready queue. CPU scheduling picks first process from ready queue, set a timer to interrupt after 1 time quantum and then process is dispatched.If the burst time of process is less than a time quantum then it will automatically release the CPU.The average waiting time a round Robin policy is often high.

Consider the following ready queue of processes.
Process               Burst time
   P1                           10
   P2                           20
   P3                           5


Let the time Quantum be 5 miliseconds. The Gantt chart will be as given below



What is Process?

 Any Program that is under execution is called a Process e.g. scanning an image is a process.

For the completion of a process resources are required. These resources are allocated to process either when process is created or is under execution. For Example you have typed a page in Microsoft Word and you want to print it, as you give print command the print process is created and it requires Printer as resource. If any other process is using the printer then your page will be queued and will be printed when first process of printing is complete. A process may have sub processes which are called child processes.A Process can demand only those resources which are available e.g. if 8 resources are available than process can demand all 8 resources but 9th resource can't be demanded.



What are Semaphores?

These are like integers but has the following three difference from them:
1) Its value can be initialized as integer but only increment or decrement operations are allowed and its current value can't be read.
2) If any thread decrements its value and result is negative then thread itself can't continue until any other thread increments the Semaphore.
3) If any thread increments Semaphore and their are another threads waiting ,one of the thread gets blocked which was in waiting list.


Explanation : Consider the example of a Cyber Cafe which has 20 cabins and is used by one person at a time for the prevention of dispute user requests a cabin from front counter to use PC.When user work is over he returns to counter makes payment and indicates that now one cabin is free.If no cabin is free than user has to wait until any cabin is free.

The person sitting at front counter only knows the no. of occupied cabins ant not the particular cabin which is occupied.if somebody leaves the cabin the no. of occupied cabin's no. is decremented and if somebody requests a cabin the no. of occupied cabin's incremented.

Demand Paging

Whenever a program is executed it is required to be loaded into main memory. This loading can be done by two methods:

1) By loading the entire program into main memory. But Problem with this technique is that if user wants to select limited options, whole program will be loaded regardless of user selection.

2) Another Approach is to load only those pages which are currently needed. “The Technique of loading in which only those pages are loaded into main memory which is currently needed is called Demand Paging”. The pages which are not required are not loaded into main memory.

This technique has the advantage that less memory is consumed and more processes can be loaded at the same time which utilizes more resources. Demand paging is very similar to swapping. The whole program resides in secondary storage and when process execution is required, it is swapped into main memory and in spite of loading whole program only currently required pages ware swapped.

To perform this task swapper is used which is called pager. It does not swap any program until it is required in the main memory. Additional hardware is also required to check that which pages are in memory and which pages are on disk.

Directory Implementation in Operating System

Directory efficiency, performance and reliability are totally dependent on the technique used to store them. They are saved on Disks with two well Known Techniques:

1) Linear List: It is the Simple method of directory implementation. It makes use of a file name and a pointer to data blocks. Whenever a new file is created, whole directory is checked to make sure that no existing file has the same name. If the directory contains no file with this name it is added to the end of directory. For the deletion operation file is searched and the allocated space is released.

The Main Disadvantage is of this technique is that every time we create a new file, directory has to be checked for existing file name .The second problem is that files are accessed in a serial fashion which results in slow performance 

2) Hash Tables: In technique Directories are saved in same linear fashion but a hash table is used. It takes a value that is returned from file name and returns a pointer