File system in operating system e learning

Operating System: File System
Dr. Lavanya Sharma
Ms. Sudhriti Sen Gupta
Definition
• A file is a named collection of related information that is recorded on
secondary storage such as magnetic disks, magnetic tapes and optical
disks.
• In general, a file is a sequence of bits, bytes, lines or records whose
meaning is defined by the files creator and user.
Agenda
• Definition
• File Structure
• Directory Structure: Single level, Two-level, Tree-structured , Acyclic graph,
General graph.
• File Type and operations
• Major functions of OS in respect of File system
• File Access Mechanisms and Space Allocation
• Security and Protection
• Program and system Threats
• LINUX OPERATING SYSTEM: Architecture and basic commands
File Structure
• A File Structure should be according to a required format that the
operating system can understand.
• A file has a certain defined structure according to its type.
• A text file is a sequence of characters organized into lines.
• A source file is a sequence of procedures and functions.
• An object file is a sequence of bytes organized into blocks that are
understandable by the machine.
• When operating system defines different file structures, it also
contains the code to support these file structure. Unix, MS-DOS
support minimum number of file structure.
Single level directory
• It is simplest directory structure.
• In it all files are contained in same directory which make it easy to support and understand.
• A single level directory has a significant limitation, however, when the number of files increases or when the
system has more than one user. Since all the files are in the same directory, they must have the unique name
.
• If two users call their dataset test, then the unique name rule violated.
Advantages:
• Since it is a single directory, so its implementation is very easy.
• If the files are smaller in size, searching will become faster.
• The operations like file creation, searching, deletion, updating are very easy in
such a directory structure.
Disadvantages:
• There may chance of name collision because two files can not have the same
name.
• Searching will become time taking if the directory is large.
• In this can not group the same type of files together.
Two-level directory
•
In the two-level directory structure, each user has there own user files directory (UFD).
• The UFDs has similar structures, but each lists only the files of a single user. system’s master file directory (MFD) is
searches whenever a new user id=s logged in.
• The MFD is indexed by username or account number, and each entry points to the UFD for that user.
Advantages:
• We can give full path like /User-name/directory-name/.
• Different users can have same directory as well as file name.
• Searching of files become more easy due to path name and user-grouping.
Disadvantages:
• A user is not allowed to share files with other users.
• Still it not very scalable, two files of the same type cannot be grouped
together in the same user.
Tree-structured directory
A two-level directory as a tree of height 2, the natural generalization is to extend the directory structure to a
tree of arbitrary height.
This generalization allows the user to create there own subdirectories and to organize on their files accordingly.
A tree structure is the most common directory structure. The tree has a root directory, and every file in the
system have a unique path.
Advantages:
• Very generalize, since full path name can be given.
• Very scalable, the probability of name collision is less.
• Searching becomes very easy, we can use both absolute path as well as
relative.
Disadvantages:
• Every file does not fit into the hierarchical model, files may be saved into
multiple directories.
• We can not share files.
• It is inefficient, because accessing a file may go under multiple directories
Acyclic graph directory
An acyclic graph is a graph with no cycle and allows to share subdirectories and
files.
The same file or subdirectories may be in two different directories. It is a natural
generalization of the tree-structured directory.
It is used in the situation like when two programmers are working on a joint project
and they need to access files.
The associated files are stored in a subdirectory, separating them from other
projects and files of other programmers, since they are working on a joint project
so they want the subdirectories to be into their own directories.
The common subdirectories should be shared. So here we use Acyclic directories.
• It is the point to note that shared file is not the same as copy file . If any
programmer makes some changes in the subdirectory it will reflect in both
subdirectories.
Advantages:
• We can share files.
• Searching is easy due to different-different paths.
Disadvantages:
• We share the files via linking, in case of deleting it may create the problem,
• If the link is softlink then after deleting the file we left with a dangling pointer.
• In case of hardlink, to delete a file we have to delete all the reference associated with it.
Fig.1.A cyclic Graph Directory Structure
General graph directory structure
In general graph directory structure, cycles are allowed within a directory structure where multiple directories can
be derived from more than one parent directory.
The main problem with this kind of directory structure is to calculate total size or space that has been taken by the
files and directories.
Fig.2. General graph directory structure
Advantages:
• It allows cycles.
• It is more flexible than other directories structure.
Disadvantages:
• It is more costly than others.
• It needs garbage collection.
File Types
File type refers to the ability of the operating system to distinguish different types of file such as text files
source files and binary files etc. Many operating systems support many types of files. Operating system like MS-
DOS and UNIX have the following types of files −
• Ordinary files
• These are the files that contain user information.
• These may have text, databases or executable program.
• The user can apply various operations on such files like add, modify, delete or even remove the entire
file.
• Directory files
• These files contain list of file names and other information related to these files.
• Special files
• These files are also known as device files.
• These files represent physical device like disks, terminals, printers, networks, tape drive etc.
These files are of two types −
• Character special files − data is handled character by character as in case of terminals or printers.
• Block special files − data is handled in blocks as in the case of disks and tapes.
File Operations
• A file is name collection of related information which is stored on sec. storage. OS
maps the files onto sec. storage devices. Some of the major operations
performed are listed below:
• Name
• Identifiers
• Type
• Location
• Size
• Protection
• Time, Date, User Identification.
• File system
Major functions of OS in respect of File system
• Creation, manipulations and deletions of files and directories.
• Protection of file system control access rights of files and directories.
• Controlled of sharing files.
• Support backup and recovery of files.
• Support encryption and decryption of sensitive files
File Access Mechanisms
• File access mechanism refers to the manner in which the records of a
file may be accessed. There are several ways to access files −
• Sequential access
• Direct/Random access
• Indexed sequential access
Sequential access
• A sequential access is that in which the records are accessed in some sequence, i.e., the
information in the file is processed in order, one record after the other. This access
method is the most primitive one. Example: Compilers usually access files in this fashion.
Direct/Random access
• Random access file organization provides, accessing the records directly.
• Each record has its own address on the file with by the help of which it can be directly
accessed for reading or writing.
• The records need not be in any sequence within the file and they need not be in adjacent
locations on the storage medium.
Indexed sequential access
• This mechanism is built up on base of sequential access.
• An index is created for each file which contains pointers to various blocks.
• Index is searched sequentially and its pointer is used to access the file directly.
Space Allocation
• Files are allocated disk spaces by operating system. Operating systems
deploy following three main ways to allocate disk space to files.
• Contiguous Allocation
• Linked Allocation
• Indexed Allocation
Contiguous Allocation
• Each file occupies a contiguous address space on disk.
• Assigned disk address is in linear order.
• Easy to implement.
• External fragmentation is a major issue with this type of allocation technique.
Linked Allocation
• Each file carries a list of links to disk blocks.
• Directory contains link / pointer to first block of a file.
• No external fragmentation
• Effectively used in sequential access file.
• Inefficient in case of direct access file.
Indexed Allocation
• Provides solutions to problems of contiguous and linked allocation.
• A index block is created having all pointers to files.
• Each file has its own index block which stores the addresses of disk space
occupied by the file.
• Directory contains the addresses of index blocks of files.
Security and protection
• It refers to providing a protection system to computer system resources such as
CPU, memory, disk, software programs and most importantly data/information
stored in the computer system. If a computer program is run by an unauthorized
user, then he/she may cause severe damage to computer or data stored in it. So a
computer system must be protected against unauthorized access, malicious
access to system memory, viruses, worms etc.
• Authentication
• One Time passwords
• Program Threats
• System Threats
• Computer Security Classifications
Authentication
• It refers to identifying each user of the system and associating the
executing programs with those users. It is the responsibility of the
Operating System to create a protection system which ensures that a user
who is running a particular program is authentic. Operating Systems
generally identifies/authenticates users using following three ways −
• Username / Password − User need to enter a registered username and password
with Operating system to login into the system.
• User card/key − User need to punch card in card slot, or enter key generated by key
generator in option provided by operating system to login into the system.
• User attribute - fingerprint/ eye retina pattern/ signature − User need to pass
his/her attribute via designated input device used by operating system to login into
the system.
One Time passwords
• It provide additional security along with normal authentication. In
One-Time Password system, a unique password is required every time
user tries to login into the system. Once a one-time password is used,
then it cannot be used again. One-time password are implemented in
various ways.
• Random numbers − Users are provided cards having numbers printed along
with corresponding alphabets. System asks for numbers corresponding to few
alphabets randomly chosen.
• Secret key − User are provided a hardware device which can create a secret id
mapped with user id. System asks for such secret id which is to be generated
every time prior to login.
• Network password − Some commercial applications send one-time
passwords to user on registered mobile/ email which is required to be
entered prior to login.
Program Threats
• Operating system's processes and kernel do the designated task as instructed. If a user
program made these process do malicious tasks, then it is known as Program Threats.
One of the common example of program threat is a program installed in a computer
which can store and send user credentials via network to some hacker. Following is the
list of some well-known program threats.
• Trojan Horse − Such program traps user login credentials and stores them to send to
malicious user who can later on login to computer and can access system resources.
• Trap Door − If a program which is designed to work as required, have a security hole in its
code and perform illegal action without knowledge of user then it is called to have a trap
door.
• Logic Bomb − Logic bomb is a situation when a program misbehaves only when certain
conditions met otherwise it works as a genuine program. It is harder to detect.
• Virus − Virus as name suggest can replicate themselves on computer system. They are highly
dangerous and can modify/delete user files, crash systems. A virus is generally a small code
embedded in a program. As user accesses the program, the virus starts getting embedded in
other files/ programs and can make system unusable for user
System Threats
• It refers to misuse of system services and network connections to put user in trouble.
System threats can be used to launch program threats on a complete network called as
program attack. System threats creates such an environment that operating system
resources/ user files are misused. Following is the list of some well-known system
threats.
• Worm − Worm is a process which can choked down a system performance by using
system resources to extreme levels. A Worm process generates its multiple copies
where each copy uses system resources, prevents all other processes to get required
resources. Worms processes can even shut down an entire network.
• Port Scanning − Port scanning is a mechanism or means by which a hacker can
detects system vulnerabilities to make an attack on the system.
• Denial of Service − Denial of service attacks normally prevents user to make
legitimate use of the system. For example, a user may not be able to use internet if
denial of service attacks browser's content settings.
LINUX OPERATING SYSTEM
• Linux is one of popular version of UNIX operating System.
• It is open source as its source code is freely available.
• It is free to use.
• It was designed considering UNIX compatibility.
• Its functionality list is quite similar to that of UNIX.
Components of Unix System
• Unix Operating System has primarily three components
• Kernel − Kernel is the core part of Linux. It is responsible for all major activities of
this operating system. It consists of various modules and it interacts directly with the
underlying hardware. Kernel provides the required abstraction to hide low level
hardware details to system or application programs.
• System Library − System libraries are special functions or programs using which
application programs or system utilities accesses Kernel's features. These libraries
implement most of the functionalities of the operating system and do not requires
kernel module's code access rights.
• System Utility − System Utility programs are responsible to do specialized, individual
level tasks.
Fig.3. Components of Unix Operating System
Kernel Mode vs User Mode
• Kernel component code executes in a special privileged mode called kernel
mode with full access to all resources of the computer.
• This code represents a single process, executes in single address space and
do not require any context switch and hence is very efficient and fast.
• Kernel runs each processes and provides system services to processes,
provides protected access to hardware to processes.
• Support code which is not required to run in kernel mode is in System
Library. User programs and other system programs works in User
Mode which has no access to system hardware and kernel code.
• User programs/ utilities use System libraries to access Kernel functions to
get system's low level tasks.
Important Features
Some of the important features of Linux Operating System are as follows:
• Portable
• Open Source
• Multi-User
• Multiprogramming
• Hierarchical File System
• Shell
• Security
Architecture of a Unix system −
Fig.4. Architecture of Unix Operating System
Architecture of a Unix System
• The architecture of a Unix System consists of the following layers −
• Hardware layer − Hardware consists of all peripheral devices (RAM/ HDD/
CPU etc).
• Kernel − It is the core component of Operating System, interacts directly with
hardware, provides low level services to upper layer components.
• Shell − An interface to kernel, hiding complexity of kernel's functions from
users. The shell takes commands from the user and executes kernel's
functions.
• Utilities − Utility programs that provide the user most of the functionalities of
an operating systems.
Unix Commands
The listed commands can be run on terminal:
• pwd command: This command prints the absolute path to current
working directory.
• Syntax:
$ pwd
/home/raghu
• cal command: Displays the calendar of the current month.
• Syntax
$ cal
• echo command: This command will echo whatever you provide it.
Syntax: $ echo "linoxide.com"
linoxide.com
• date command: Displays current time and date.
Syntax: $ date
Fri Feb 13 01:07:09 IST 2020
• tty command: Displays current terminal.
• Syntax: $ tty
/dev/pts/0
• Changing Directories Command: Change the current working directory to the
directory provided as argument. If no argument is given to ‘cd’, it changes the
directory to the user's home directory. The directory path can be an absolute
path or relative to current directory. The absolute path always starts with /. The
current directory can be checked with ‘pwd’ command
Syntax: $ cd [path-to-directory]
$ pwd
/home/raghu
$ cd /usr/share/
$ pwd
/usr/share
$ cd doc
$ pwd
/usr/share/doc
Creating files and directories
mkdir command: To create a directory, the ‘mkdir’ command is used.
Syntax: $ mkdir example
$ ls -l
total 4
drwxr-xr-x 2 raghu raghu 4096 2012-07-06 14:09 example
Copy, move commands
copy command: To copy file cp command is used.
Syntax: $cp source destination
move command: To Move files or directories. The 'mv' command works
like 'cp' command, except that the original file is removed. But, the mv
command can be used to rename the files (or directories).
Syntax: $ mv source destination
References
• Silberschatz Galvin Gagne, Operating Systems Concepts, Wiley Publication, Nine Edition, 2012.
• A S Tanenbaum, Modern Operating Systems, Prentice Hall of India New Delhi, Fourth Edition,
2015
• Maurice J. Bauch , Design of UNIX Operating System, Prentice Hall of India, Third Edition, 2007
• SibsankarHaldar Operating Systems,Pearson Publications, First Edition, 2010
• Garry Nutt, Operating Systems, Pearson Publications, Third edition, 2004
• Andrew S. Tanenbaum, Modern Operating Systems, 2nd Edition; GOAL Series, 2004.
• Evi Nemeth, Garth Snyder, The UNIX System Administration Handbook, Prentice Hall, First Edition,
2014
• Iain D. Craig , virtual machines, First Edition, Springer, 2005
• Basics of File System. Available at:
https://www.tutorialspoint.com/operating_system/os_file_system.htm [accessed on 15 April
2020]
• Basics of File System. Available at: https://www.geeksforgeeks.org/file-systems-in-operating-
system/ [accessed on 15 April 2020]
Thank you
1 sur 40

Recommandé

File Management par
File ManagementFile Management
File Managementramya marichamy
1.4K vues27 diapositives
Thread scheduling in Operating Systems par
Thread scheduling in Operating SystemsThread scheduling in Operating Systems
Thread scheduling in Operating SystemsNitish Gulati
26.4K vues25 diapositives
file management par
 file management file management
file managementSweta Kumari Barnwal
195 vues21 diapositives
Memory management early_systems par
Memory management early_systemsMemory management early_systems
Memory management early_systemsMybej Che
17.2K vues49 diapositives
OS Structure par
OS StructureOS Structure
OS StructureAjay Singh Rana
213 vues14 diapositives
Disaster Recovery & Data Backup Strategies par
Disaster Recovery & Data Backup StrategiesDisaster Recovery & Data Backup Strategies
Disaster Recovery & Data Backup StrategiesSpiceworks
25.8K vues36 diapositives

Contenu connexe

Tendances

File Management par
File ManagementFile Management
File ManagementRamasubbu .P
3.3K vues64 diapositives
Structure of operating system par
Structure of operating systemStructure of operating system
Structure of operating systemRafi Dar
5.2K vues43 diapositives
Memory management par
Memory managementMemory management
Memory managementcpjcollege
7.5K vues56 diapositives
Course 102: Lecture 26: FileSystems in Linux (Part 1) par
Course 102: Lecture 26: FileSystems in Linux (Part 1) Course 102: Lecture 26: FileSystems in Linux (Part 1)
Course 102: Lecture 26: FileSystems in Linux (Part 1) Ahmed El-Arabawy
1.7K vues39 diapositives
Memory Management par
Memory ManagementMemory Management
Memory Managementjayalakshmi268
462 vues28 diapositives
OS Memory Management par
OS Memory ManagementOS Memory Management
OS Memory Managementanand hd
258 vues56 diapositives

Tendances(20)

Structure of operating system par Rafi Dar
Structure of operating systemStructure of operating system
Structure of operating system
Rafi Dar5.2K vues
Memory management par cpjcollege
Memory managementMemory management
Memory management
cpjcollege7.5K vues
Course 102: Lecture 26: FileSystems in Linux (Part 1) par Ahmed El-Arabawy
Course 102: Lecture 26: FileSystems in Linux (Part 1) Course 102: Lecture 26: FileSystems in Linux (Part 1)
Course 102: Lecture 26: FileSystems in Linux (Part 1)
Ahmed El-Arabawy1.7K vues
OS Memory Management par anand hd
OS Memory ManagementOS Memory Management
OS Memory Management
anand hd258 vues
File Management in Operating Systems par vampugani
File Management in Operating SystemsFile Management in Operating Systems
File Management in Operating Systems
vampugani2.4K vues
Presentation on Operating System & its Components par Mahmuda Rahman
Presentation on Operating System & its ComponentsPresentation on Operating System & its Components
Presentation on Operating System & its Components
Mahmuda Rahman14.7K vues
File Management in Operating System par Janki Shah
File Management in Operating SystemFile Management in Operating System
File Management in Operating System
Janki Shah23.1K vues
Chapter 10 - File System Interface par Wayne Jones Jnr
Chapter 10 - File System InterfaceChapter 10 - File System Interface
Chapter 10 - File System Interface
Wayne Jones Jnr7.8K vues
Chorus - Distributed Operating System [ case study ] par Akhil Nadh PC
Chorus - Distributed Operating System [ case study ]Chorus - Distributed Operating System [ case study ]
Chorus - Distributed Operating System [ case study ]
Akhil Nadh PC3K vues
Backup And Recovery par Wynthorpe
Backup And RecoveryBackup And Recovery
Backup And Recovery
Wynthorpe6.4K vues
Chapter 11 - File System Implementation par Wayne Jones Jnr
Chapter 11 - File System ImplementationChapter 11 - File System Implementation
Chapter 11 - File System Implementation
Wayne Jones Jnr22.6K vues
Linux standard file system par Taaanu01
Linux standard file systemLinux standard file system
Linux standard file system
Taaanu01958 vues
Memory hierarchy unit 2 by ram k paliwal par Ram Paliwal
Memory hierarchy  unit 2 by ram k paliwalMemory hierarchy  unit 2 by ram k paliwal
Memory hierarchy unit 2 by ram k paliwal
Ram Paliwal411 vues

Similaire à File system in operating system e learning

File system par
File systemFile system
File systemNavin Royal Achakkagari
109 vues87 diapositives
File System.pptx par
File System.pptxFile System.pptx
File System.pptxbcanawakadalcollege
4 vues30 diapositives
Ch10 file system interface par
Ch10   file system interfaceCh10   file system interface
Ch10 file system interfaceWelly Dian Astika
204 vues42 diapositives
UNIT7-FileMgmt.pptx par
UNIT7-FileMgmt.pptxUNIT7-FileMgmt.pptx
UNIT7-FileMgmt.pptxNavyaKumar22
5 vues75 diapositives
Chapter 3 par
Chapter 3Chapter 3
Chapter 3Cahaya Penyayang
2.5K vues54 diapositives
File management in OS par
File management in OSFile management in OS
File management in OSBhavik Vashi
239 vues29 diapositives

Similaire à File system in operating system e learning(20)

ITFT_File system interface in Operating System par Sneh Prabha
ITFT_File system interface in Operating SystemITFT_File system interface in Operating System
ITFT_File system interface in Operating System
Sneh Prabha1.7K vues
File and directory par Sunil Kafle
File and directoryFile and directory
File and directory
Sunil Kafle1.2K vues

Dernier

Object Oriented Programming with JAVA par
Object Oriented Programming with JAVAObject Oriented Programming with JAVA
Object Oriented Programming with JAVADemian Antony D'Mello
140 vues28 diapositives
DevOps-ITverse-2023-IIT-DU.pptx par
DevOps-ITverse-2023-IIT-DU.pptxDevOps-ITverse-2023-IIT-DU.pptx
DevOps-ITverse-2023-IIT-DU.pptxAnowar Hossain
9 vues45 diapositives
Investor Presentation par
Investor PresentationInvestor Presentation
Investor Presentationeser sevinç
25 vues26 diapositives
Control Systems Feedback.pdf par
Control Systems Feedback.pdfControl Systems Feedback.pdf
Control Systems Feedback.pdfLGGaming5
6 vues39 diapositives
fakenews_DBDA_Mar23.pptx par
fakenews_DBDA_Mar23.pptxfakenews_DBDA_Mar23.pptx
fakenews_DBDA_Mar23.pptxdeepmitra8
14 vues34 diapositives
zincalume water storage tank design.pdf par
zincalume water storage tank design.pdfzincalume water storage tank design.pdf
zincalume water storage tank design.pdf3D LABS
5 vues1 diapositive

Dernier(20)

Control Systems Feedback.pdf par LGGaming5
Control Systems Feedback.pdfControl Systems Feedback.pdf
Control Systems Feedback.pdf
LGGaming56 vues
fakenews_DBDA_Mar23.pptx par deepmitra8
fakenews_DBDA_Mar23.pptxfakenews_DBDA_Mar23.pptx
fakenews_DBDA_Mar23.pptx
deepmitra814 vues
zincalume water storage tank design.pdf par 3D LABS
zincalume water storage tank design.pdfzincalume water storage tank design.pdf
zincalume water storage tank design.pdf
3D LABS5 vues
2023Dec ASU Wang NETR Group Research Focus and Facility Overview.pptx par lwang78
2023Dec ASU Wang NETR Group Research Focus and Facility Overview.pptx2023Dec ASU Wang NETR Group Research Focus and Facility Overview.pptx
2023Dec ASU Wang NETR Group Research Focus and Facility Overview.pptx
lwang7853 vues
Machine Element II Course outline.pdf par odatadese1
Machine Element II Course outline.pdfMachine Element II Course outline.pdf
Machine Element II Course outline.pdf
odatadese19 vues
Advances in micro milling: From tool fabrication to process outcomes par Shivendra Nandan
Advances in micro milling: From tool fabrication to process outcomesAdvances in micro milling: From tool fabrication to process outcomes
Advances in micro milling: From tool fabrication to process outcomes

File system in operating system e learning

  • 1. Operating System: File System Dr. Lavanya Sharma Ms. Sudhriti Sen Gupta
  • 2. Definition • A file is a named collection of related information that is recorded on secondary storage such as magnetic disks, magnetic tapes and optical disks. • In general, a file is a sequence of bits, bytes, lines or records whose meaning is defined by the files creator and user.
  • 3. Agenda • Definition • File Structure • Directory Structure: Single level, Two-level, Tree-structured , Acyclic graph, General graph. • File Type and operations • Major functions of OS in respect of File system • File Access Mechanisms and Space Allocation • Security and Protection • Program and system Threats • LINUX OPERATING SYSTEM: Architecture and basic commands
  • 4. File Structure • A File Structure should be according to a required format that the operating system can understand. • A file has a certain defined structure according to its type. • A text file is a sequence of characters organized into lines. • A source file is a sequence of procedures and functions. • An object file is a sequence of bytes organized into blocks that are understandable by the machine. • When operating system defines different file structures, it also contains the code to support these file structure. Unix, MS-DOS support minimum number of file structure.
  • 5. Single level directory • It is simplest directory structure. • In it all files are contained in same directory which make it easy to support and understand. • A single level directory has a significant limitation, however, when the number of files increases or when the system has more than one user. Since all the files are in the same directory, they must have the unique name . • If two users call their dataset test, then the unique name rule violated.
  • 6. Advantages: • Since it is a single directory, so its implementation is very easy. • If the files are smaller in size, searching will become faster. • The operations like file creation, searching, deletion, updating are very easy in such a directory structure. Disadvantages: • There may chance of name collision because two files can not have the same name. • Searching will become time taking if the directory is large. • In this can not group the same type of files together.
  • 7. Two-level directory • In the two-level directory structure, each user has there own user files directory (UFD). • The UFDs has similar structures, but each lists only the files of a single user. system’s master file directory (MFD) is searches whenever a new user id=s logged in. • The MFD is indexed by username or account number, and each entry points to the UFD for that user.
  • 8. Advantages: • We can give full path like /User-name/directory-name/. • Different users can have same directory as well as file name. • Searching of files become more easy due to path name and user-grouping. Disadvantages: • A user is not allowed to share files with other users. • Still it not very scalable, two files of the same type cannot be grouped together in the same user.
  • 9. Tree-structured directory A two-level directory as a tree of height 2, the natural generalization is to extend the directory structure to a tree of arbitrary height. This generalization allows the user to create there own subdirectories and to organize on their files accordingly. A tree structure is the most common directory structure. The tree has a root directory, and every file in the system have a unique path.
  • 10. Advantages: • Very generalize, since full path name can be given. • Very scalable, the probability of name collision is less. • Searching becomes very easy, we can use both absolute path as well as relative. Disadvantages: • Every file does not fit into the hierarchical model, files may be saved into multiple directories. • We can not share files. • It is inefficient, because accessing a file may go under multiple directories
  • 11. Acyclic graph directory An acyclic graph is a graph with no cycle and allows to share subdirectories and files. The same file or subdirectories may be in two different directories. It is a natural generalization of the tree-structured directory. It is used in the situation like when two programmers are working on a joint project and they need to access files. The associated files are stored in a subdirectory, separating them from other projects and files of other programmers, since they are working on a joint project so they want the subdirectories to be into their own directories. The common subdirectories should be shared. So here we use Acyclic directories. • It is the point to note that shared file is not the same as copy file . If any programmer makes some changes in the subdirectory it will reflect in both subdirectories.
  • 12. Advantages: • We can share files. • Searching is easy due to different-different paths. Disadvantages: • We share the files via linking, in case of deleting it may create the problem, • If the link is softlink then after deleting the file we left with a dangling pointer. • In case of hardlink, to delete a file we have to delete all the reference associated with it. Fig.1.A cyclic Graph Directory Structure
  • 13. General graph directory structure In general graph directory structure, cycles are allowed within a directory structure where multiple directories can be derived from more than one parent directory. The main problem with this kind of directory structure is to calculate total size or space that has been taken by the files and directories. Fig.2. General graph directory structure
  • 14. Advantages: • It allows cycles. • It is more flexible than other directories structure. Disadvantages: • It is more costly than others. • It needs garbage collection.
  • 15. File Types File type refers to the ability of the operating system to distinguish different types of file such as text files source files and binary files etc. Many operating systems support many types of files. Operating system like MS- DOS and UNIX have the following types of files − • Ordinary files • These are the files that contain user information. • These may have text, databases or executable program. • The user can apply various operations on such files like add, modify, delete or even remove the entire file. • Directory files • These files contain list of file names and other information related to these files. • Special files • These files are also known as device files. • These files represent physical device like disks, terminals, printers, networks, tape drive etc. These files are of two types − • Character special files − data is handled character by character as in case of terminals or printers. • Block special files − data is handled in blocks as in the case of disks and tapes.
  • 16. File Operations • A file is name collection of related information which is stored on sec. storage. OS maps the files onto sec. storage devices. Some of the major operations performed are listed below: • Name • Identifiers • Type • Location • Size • Protection • Time, Date, User Identification. • File system
  • 17. Major functions of OS in respect of File system • Creation, manipulations and deletions of files and directories. • Protection of file system control access rights of files and directories. • Controlled of sharing files. • Support backup and recovery of files. • Support encryption and decryption of sensitive files
  • 18. File Access Mechanisms • File access mechanism refers to the manner in which the records of a file may be accessed. There are several ways to access files − • Sequential access • Direct/Random access • Indexed sequential access
  • 19. Sequential access • A sequential access is that in which the records are accessed in some sequence, i.e., the information in the file is processed in order, one record after the other. This access method is the most primitive one. Example: Compilers usually access files in this fashion. Direct/Random access • Random access file organization provides, accessing the records directly. • Each record has its own address on the file with by the help of which it can be directly accessed for reading or writing. • The records need not be in any sequence within the file and they need not be in adjacent locations on the storage medium. Indexed sequential access • This mechanism is built up on base of sequential access. • An index is created for each file which contains pointers to various blocks. • Index is searched sequentially and its pointer is used to access the file directly.
  • 20. Space Allocation • Files are allocated disk spaces by operating system. Operating systems deploy following three main ways to allocate disk space to files. • Contiguous Allocation • Linked Allocation • Indexed Allocation Contiguous Allocation • Each file occupies a contiguous address space on disk. • Assigned disk address is in linear order. • Easy to implement. • External fragmentation is a major issue with this type of allocation technique.
  • 21. Linked Allocation • Each file carries a list of links to disk blocks. • Directory contains link / pointer to first block of a file. • No external fragmentation • Effectively used in sequential access file. • Inefficient in case of direct access file. Indexed Allocation • Provides solutions to problems of contiguous and linked allocation. • A index block is created having all pointers to files. • Each file has its own index block which stores the addresses of disk space occupied by the file. • Directory contains the addresses of index blocks of files.
  • 22. Security and protection • It refers to providing a protection system to computer system resources such as CPU, memory, disk, software programs and most importantly data/information stored in the computer system. If a computer program is run by an unauthorized user, then he/she may cause severe damage to computer or data stored in it. So a computer system must be protected against unauthorized access, malicious access to system memory, viruses, worms etc. • Authentication • One Time passwords • Program Threats • System Threats • Computer Security Classifications
  • 23. Authentication • It refers to identifying each user of the system and associating the executing programs with those users. It is the responsibility of the Operating System to create a protection system which ensures that a user who is running a particular program is authentic. Operating Systems generally identifies/authenticates users using following three ways − • Username / Password − User need to enter a registered username and password with Operating system to login into the system. • User card/key − User need to punch card in card slot, or enter key generated by key generator in option provided by operating system to login into the system. • User attribute - fingerprint/ eye retina pattern/ signature − User need to pass his/her attribute via designated input device used by operating system to login into the system.
  • 24. One Time passwords • It provide additional security along with normal authentication. In One-Time Password system, a unique password is required every time user tries to login into the system. Once a one-time password is used, then it cannot be used again. One-time password are implemented in various ways. • Random numbers − Users are provided cards having numbers printed along with corresponding alphabets. System asks for numbers corresponding to few alphabets randomly chosen. • Secret key − User are provided a hardware device which can create a secret id mapped with user id. System asks for such secret id which is to be generated every time prior to login. • Network password − Some commercial applications send one-time passwords to user on registered mobile/ email which is required to be entered prior to login.
  • 25. Program Threats • Operating system's processes and kernel do the designated task as instructed. If a user program made these process do malicious tasks, then it is known as Program Threats. One of the common example of program threat is a program installed in a computer which can store and send user credentials via network to some hacker. Following is the list of some well-known program threats. • Trojan Horse − Such program traps user login credentials and stores them to send to malicious user who can later on login to computer and can access system resources. • Trap Door − If a program which is designed to work as required, have a security hole in its code and perform illegal action without knowledge of user then it is called to have a trap door. • Logic Bomb − Logic bomb is a situation when a program misbehaves only when certain conditions met otherwise it works as a genuine program. It is harder to detect. • Virus − Virus as name suggest can replicate themselves on computer system. They are highly dangerous and can modify/delete user files, crash systems. A virus is generally a small code embedded in a program. As user accesses the program, the virus starts getting embedded in other files/ programs and can make system unusable for user
  • 26. System Threats • It refers to misuse of system services and network connections to put user in trouble. System threats can be used to launch program threats on a complete network called as program attack. System threats creates such an environment that operating system resources/ user files are misused. Following is the list of some well-known system threats. • Worm − Worm is a process which can choked down a system performance by using system resources to extreme levels. A Worm process generates its multiple copies where each copy uses system resources, prevents all other processes to get required resources. Worms processes can even shut down an entire network. • Port Scanning − Port scanning is a mechanism or means by which a hacker can detects system vulnerabilities to make an attack on the system. • Denial of Service − Denial of service attacks normally prevents user to make legitimate use of the system. For example, a user may not be able to use internet if denial of service attacks browser's content settings.
  • 27. LINUX OPERATING SYSTEM • Linux is one of popular version of UNIX operating System. • It is open source as its source code is freely available. • It is free to use. • It was designed considering UNIX compatibility. • Its functionality list is quite similar to that of UNIX.
  • 28. Components of Unix System • Unix Operating System has primarily three components • Kernel − Kernel is the core part of Linux. It is responsible for all major activities of this operating system. It consists of various modules and it interacts directly with the underlying hardware. Kernel provides the required abstraction to hide low level hardware details to system or application programs. • System Library − System libraries are special functions or programs using which application programs or system utilities accesses Kernel's features. These libraries implement most of the functionalities of the operating system and do not requires kernel module's code access rights. • System Utility − System Utility programs are responsible to do specialized, individual level tasks.
  • 29. Fig.3. Components of Unix Operating System
  • 30. Kernel Mode vs User Mode • Kernel component code executes in a special privileged mode called kernel mode with full access to all resources of the computer. • This code represents a single process, executes in single address space and do not require any context switch and hence is very efficient and fast. • Kernel runs each processes and provides system services to processes, provides protected access to hardware to processes. • Support code which is not required to run in kernel mode is in System Library. User programs and other system programs works in User Mode which has no access to system hardware and kernel code. • User programs/ utilities use System libraries to access Kernel functions to get system's low level tasks.
  • 31. Important Features Some of the important features of Linux Operating System are as follows: • Portable • Open Source • Multi-User • Multiprogramming • Hierarchical File System • Shell • Security
  • 32. Architecture of a Unix system − Fig.4. Architecture of Unix Operating System
  • 33. Architecture of a Unix System • The architecture of a Unix System consists of the following layers − • Hardware layer − Hardware consists of all peripheral devices (RAM/ HDD/ CPU etc). • Kernel − It is the core component of Operating System, interacts directly with hardware, provides low level services to upper layer components. • Shell − An interface to kernel, hiding complexity of kernel's functions from users. The shell takes commands from the user and executes kernel's functions. • Utilities − Utility programs that provide the user most of the functionalities of an operating systems.
  • 34. Unix Commands The listed commands can be run on terminal: • pwd command: This command prints the absolute path to current working directory. • Syntax: $ pwd /home/raghu • cal command: Displays the calendar of the current month. • Syntax $ cal
  • 35. • echo command: This command will echo whatever you provide it. Syntax: $ echo "linoxide.com" linoxide.com • date command: Displays current time and date. Syntax: $ date Fri Feb 13 01:07:09 IST 2020 • tty command: Displays current terminal. • Syntax: $ tty /dev/pts/0
  • 36. • Changing Directories Command: Change the current working directory to the directory provided as argument. If no argument is given to ‘cd’, it changes the directory to the user's home directory. The directory path can be an absolute path or relative to current directory. The absolute path always starts with /. The current directory can be checked with ‘pwd’ command Syntax: $ cd [path-to-directory] $ pwd /home/raghu $ cd /usr/share/ $ pwd /usr/share $ cd doc $ pwd /usr/share/doc
  • 37. Creating files and directories mkdir command: To create a directory, the ‘mkdir’ command is used. Syntax: $ mkdir example $ ls -l total 4 drwxr-xr-x 2 raghu raghu 4096 2012-07-06 14:09 example
  • 38. Copy, move commands copy command: To copy file cp command is used. Syntax: $cp source destination move command: To Move files or directories. The 'mv' command works like 'cp' command, except that the original file is removed. But, the mv command can be used to rename the files (or directories). Syntax: $ mv source destination
  • 39. References • Silberschatz Galvin Gagne, Operating Systems Concepts, Wiley Publication, Nine Edition, 2012. • A S Tanenbaum, Modern Operating Systems, Prentice Hall of India New Delhi, Fourth Edition, 2015 • Maurice J. Bauch , Design of UNIX Operating System, Prentice Hall of India, Third Edition, 2007 • SibsankarHaldar Operating Systems,Pearson Publications, First Edition, 2010 • Garry Nutt, Operating Systems, Pearson Publications, Third edition, 2004 • Andrew S. Tanenbaum, Modern Operating Systems, 2nd Edition; GOAL Series, 2004. • Evi Nemeth, Garth Snyder, The UNIX System Administration Handbook, Prentice Hall, First Edition, 2014 • Iain D. Craig , virtual machines, First Edition, Springer, 2005 • Basics of File System. Available at: https://www.tutorialspoint.com/operating_system/os_file_system.htm [accessed on 15 April 2020] • Basics of File System. Available at: https://www.geeksforgeeks.org/file-systems-in-operating- system/ [accessed on 15 April 2020]