implement separation between the user mode and kernel mode.
> Cache manager.
> File systems
> Network driver
> Device driver
drivers. Windows NT includes DDks.
'block special file' represents a device with characteristics similar to a disk (data transfer in terms of blocks). A 'character special file' represents a device with characteristics similar to a keyboard (data transfer is by stream of
bits in sequential order).
blocks (this further aggregates for larger files). A block is typically 8k.
Inode consists of the following fields:
> File owner identifier
> File type
> File access permissions
> File access times
> Number of links
> File size
> Location of the file data
directory are a list of filename and inode number pairs. When new directories are created, kernel makes two entries named '.' (refers to the directory itself) and '..' (refers to parent directory). System call for creating directory is mkdir (pathname, mode).
> creat(pathname,mode) - create file
> close(filedes) - close an open file
> read(filedes,buffer,bytes) - read data from an open file
> write(filedes,buffer,bytes) - write data to an open file
> lseek(filedes,offset,from) - position an open file
> dup(filedes) - duplicate an existing file descriptor
> dup2(oldfd,newfd) - duplicate to a desired file descriptor
> fcntl(filedes,cmd,arg) - change properties of an open file
> ioctl(filedes,request,arg) - change the behaviour of an open file
The difference between fcntl anf ioctl is that the former is intended for any open file, while the latter is for device-specific operations.
10. How do you change File Access Permissions?
Every file has following attributes:
> owner's user ID ( 16 bit integer )
> owner's group ID ( 16 bit integer )
> File access mode word
'r w x -r w x- r w x'
(user permission-group permission-others permission)
r-read, w-write, x-execute
To change the access mode, we use chmod(filename,mode).
To change mode of myfile to 'rw-rw-r--' (ie. read, write permission for user -
read,write permission for group - only read permission for others) we give the
Each operation is represented by discrete values
'r' is 4
'w' is 2
'x' is 1
Therefore, for 'rw' the value is 6(4+2).
To change mode of myfile to 'rwxr--r--' we give the args as:
A link is a second name (not a file) for a file. Links can be used to assign more than one name to a file, but cannot be used to assign a directory more than one name or link filenames on different computers. Symbolic link 'is' a file that only contains the name of another file.Operation on the symbolic link is directed to the file pointed by the it.Both the limitations of links are eliminated in symbolic links.Commands for linking files are:
Link ln filename1 filename2
Symbolic link ln -s filename1 filename2
1. kernel assigns new inode,
2. sets the file type to indicate that the file is a pipe, directory or special file,
3. If it is a device file, it makes the other entries like major, minor device numbers.
If the device is a disk, major device number refers to the disk controller and minor device number is the disk.