100% satisfaction guarantee Immediately available after payment Both online and in PDF No strings attached 4.2 TrustPilot
logo-home
Class notes

UNIX File System and Kernel Support for Files

Rating
-
Sold
-
Pages
13
Uploaded on
06-06-2017
Written in
2016/2017

These notes provide an in-depth understanding of the types of files and directories present in the UNIX systems, and how they are programmed. Some information of the POSIX standards followed are included. A comprehensive guide to the UNIX kernel support for files, and the significance of inode tables are also included. Reader gets an idea of how to manipulate UNIX files, and how to generate hard links or symbolic links.

Show more Read less
Institution
Course










Whoops! We can’t load your doc right now. Try again or contact support.

Connected book

Written for

Institution
Course

Document information

Uploaded on
June 6, 2017
Number of pages
13
Written in
2016/2017
Type
Class notes
Professor(s)
Unknown
Contains
All classes

Subjects

Content preview

Unix programming : File Handling


Files are the building blocks of any operating system. When you execute a
command in UNIX, the UNIX kernel fetches the corresponding executable
file from a file system, loads its instruction text to memory, and creates a
process to execute the command on your behalf. In the course of execution,
a process may read from or write to files. All these operations involve files.
Thus, the design of an operating system always begins with an efficient file
management system.


 File Types
A file in a UNIX or POSIX system may be one of the following types:
 regular file
 directory file
 FIFO file
 Character device file
 Block device file


1. Regular file
A regular file may be either a text file or a binary file. These files may
be read or written to by users with the appropriate access permission
.Regular files may be created, browsed through and modified by various
means such as text editors or compilers, and they can be removed by
specific system commands.
2. Directory file
It is like a folder that contains other files, including sub-directory
files.It provides a means for users to organize their files into some
hierarchical structure based on file relationship or uses. Example:

,/bin directory contains all system executable programs, such as cat, rm,
sort,etc.
A directory may be created in UNIX by the mkdir command.
Ex: mkdir/usr/foo/xyz
A directory may be removed via the rmdir command
Ex: rmdir /usr/foo/xyz.
The content of directory may be displayed by the ls command.


3. Device file
Device files can be of two types:
Block device file
It represents a physical device that transmits data a block at a time.
Ex: hard disk drives and floppy disk drives
Character device file
It represents a physical device that transmits data in a character-based
manner.
Ex: line printers, modems, and consoles


A physical device may have both block and character device files
representing it for different access methods. An application program may
perform read and write operations on a device file and the OS will
automatically invoke an appropriate device driver function to perform the
actual data transfer between the physical device and the application.
An application program in turn may choose to transfer data by either a
character-based(via character device file) or block-based(via block device
file).
A device file is created in UNIX via the mknod command.

, Ex: mknod /dev/cdsk c 115 5
Here ,
c character device file
115 major device number
5 minor device number
For block device file, use argument ‘b’ instead of ‘c’.
 Major device number: an index to a kernel table that contains the
addresses of all device driver functions known to the system. Whenever a
process reads data from or writes data to a device file, the kernel uses the
device file’s major number to select and invoke a device driver function
to carry out actual data transfer with a physical device.
 Minor device number : an integer value to be passed as an argument to a
device driver function when it is called. It tells the device driver function
what actual physical device is talking to and the I/O buffering scheme to
be used for data transfer.


4. FIFO file
It is a special pipe device file which provides a temporary buffer for two or
more processes to communicate by writing data to and reading data from the
buffer.
 The size of the buffer is fixed to PIPE_BUF.
 Data in the buffer is accessed in a first-in-first-out manner.
 The buffer is allocated when the first process opens the FIFO file for
read or write.
 The buffer is discarded when all processes close their references
(stream pointers) to the FIFO file.
 Data stored in a FIFO buffer is temporary.
 A FIFO file may be created via the mkfifo command.
$3.49
Get access to the full document:

100% satisfaction guarantee
Immediately available after payment
Both online and in PDF
No strings attached

Get to know the seller
Seller avatar
Srija123

Get to know the seller

Seller avatar
Srija123 Dayananda Sagar College of Engineering
Follow You need to be logged in order to follow users or courses
Sold
0
Member since
8 year
Number of followers
0
Documents
2
Last sold
-

0.0

0 reviews

5
0
4
0
3
0
2
0
1
0

Recently viewed by you

Why students choose Stuvia

Created by fellow students, verified by reviews

Quality you can trust: written by students who passed their tests and reviewed by others who've used these notes.

Didn't get what you expected? Choose another document

No worries! You can instantly pick a different document that better fits what you're looking for.

Pay as you like, start learning right away

No subscription, no commitments. Pay the way you're used to via credit card and download your PDF document instantly.

Student with book image

“Bought, downloaded, and aced it. It really can be that simple.”

Alisha Student

Frequently asked questions