Name: Cze Jay A. Epis Date: 12/02/2018
Course: CpE422N Schedule: TTh 3:00-4:30 P.M
I/O and File Management: Windows vs Unix
I/O management involves I/O devices, a structure of the I/O function and its module, how it is organized and also how it acts as a communication between human and the computer. It also provides an algorithm through its architecture which stores and gathers data that can be written or read. I/O buffer is one of the parts on which responsible for converging demands to be written or read from the disk to the user process. Along of it, I/O devices is responsible for controlling the demand of an I/O which can be helpful in communicating with the user, internet services and through the computer’s hardware devices. I/O function is the brain’s cell of the I/O which makes it functional according to programmable I/O which has a direct connection to the processor,interrupt driven I/O which manage the I/O if it is block or not, and Direct Memory Acces which acts as a secondary processor that caters I/O’s instruction if the processor is not available or if it is full.
File Management is considered to be one of the most significant roles in the Operating System to help how to the file is created, named, compiled and ordered in its directories. It helps data being stored and recorded in a file given that it has its own location, name, and address in the directory.
I/O Management System
Unix I/O management organization also provides systematically programmable I/O commands that cater read and write instruction to the I/O buffer before it goes directly to the user process, interrupt-driven I/O commands that interrupted the I/O’s on what is blocking them and DMA’s that can alternate main processor on caching some data from the I/O devices.
In Unix, it follows standard input, standard output system which may produce three significant functions that are supposedly open when the processes are running, which may refer to as standard input which gains input that resulted to standard output. Only one of it significant function serves as checker if and only if the standard input and output have an irregularities in managing its task and that may prompt a standard error. Error messages will be sent to alarm the OS if that certain task conducts irregularities or not. Most of the time this kind of method is commonly used of its streams when it connects to the file system of the Unix OS.
File Management System
In Unix, file is being classified as ordinary files where it contains context of data such documentation, powerpoint, and other simple data that can be stored in that file, directories that contain a collection of some files’ information and location such as address of its data being stored in a file, and lastly the special files which uses an I/O support from the hardware system.
It also uses inodes in the file system which composed of a data-like structure that opts to illustrate a file’s location or a directory. It also has vnode that found in a kernel memory responsible for representing an open file.
Aside from vnode, there are other types that function as how to access a file, One of it is a file descriptor and file object as to mention. Both 3 types of file function have the same certain role on how to access an open file. Thus each of the function must be referred to each other according to an order.
In allocating files in Unix, one of the most common types of the file allocation that Unix OS uses is the indexed allocation where an allocation of the file table is limited and was separated by each index in every file and can only be allocated in just single file. This may lead to small internal fragmentation and cannot be applied in the complex and large system.
Free Space allocation is also used in this file, in fact, one of the examples of the OS existence of free space allocation is by using inodes in the system.
I/O Management System
In Windows OS, I/O management system has similarities with UNIX I/O management system such as they both have drivers that can request to the user process however they may differ through how they implement their own. This OS provides an I/O manager which works on all types of drivers on the computer. The I/O manager of windows is composed of many tasks that can use uniformly in the system. This may include the file system driver which cater files of the data that may participated in some processes, cache manager who manages some data in the file to be stored on a buffer before it will send and be written in a disk, network drivers which improves networking tasks, and hardware device drivers, which may improve communication between the hardware and software based on the OS system that is being implemented in a computer.
In windows’ I/O management, the process will be sent to a buffer before it will go to processor but it may have disadvantages since not all processes will be accommodated to a simple buffer cache because of some constraints of size, and address, This may result of an I/O request might be trap in the drivers alone and cannot be properly executed by the OS. In order to solve this kind of problem, I/O manager provides I/O request packet (IRQ), instead of passing a simple buffer before sending it to a driver, it will be then merged and pass to a pointer on the data structure before it will go to its destination, demanding execution. However, the IRQ can be stored temporarily in a queue if it is not ready yet. And if an I/O request is finished running, it will be then reported to the I/O manager via its address in the main origin of the process.
File Management System
The file system of windows has same objective as Unix since it involves managing file in a directory however implementation of algorithm and system architecture of file managing system differs from each perception.
One of the early version of Windows OS, File Allocation Table (FAT) was commonly used which meant to allocate like table, it has a table number/index number, a file name, and any other attributes that describes a file. In contrast of UNIX’s inode, FAT files thought to be easier and fittable, it give good performance and even have a simple implementation but cannot provide good performances in an advance modern file system. However, it can brace compatibility towards the reason of existing new inventions from operating systems and embedded system. Thus it is can be adaptable for data transfer between computer and devices now a days. There is also another newly version of FAT that windows created due to some technical advances which FAT cannot be accomodated at all times. So they make another new version of it, which may call as New Technology File System (NTFS).