Presentation is loading. Please wait.

Presentation is loading. Please wait.

Operating Systems (CS 340 D) Princess Nora University Faculty of Computer & Information Systems Computer science Department.

Similar presentations


Presentation on theme: "Operating Systems (CS 340 D) Princess Nora University Faculty of Computer & Information Systems Computer science Department."— Presentation transcript:

1 Operating Systems (CS 340 D) Princess Nora University Faculty of Computer & Information Systems Computer science Department

2 File System Interface

3 Chapter 11: File System Interface 1.File Concept 2.Access Methods 3.Directory Structure 4.File Sharing 5.Protection 3

4 OBJECTIVES :  To explain the function of file systems  To describe the interfaces to file systems  To discuss file-system design tradeoffs, including access methods, file sharing, file locking, and directory structures  To explore file-system protection 4

5 Background 5

6 The file system consists of two distinct parts: 1. a collection of files, each storing related data. 2. a directory structure, which organizes and provides information about all the files in the system. 6

7 File Concept 7

8  A file is a named collection of related information that is recorded on secondary storage.  Commonly, files represent :  programs (both source and object forms) and data.  Data files may be numeric, alphabetic, alphanumeric, or binary.  Files may be free form, such as text files, or may be formatted rigidly.   The information in a file is defined by its creator. 8

9 File Concept (cont.)  Many different types of information may be stored in a file  source programs, object programs, executable programs, numeric data, text, payroll records, graphic images, sound recordings, …..  A file has a certain defined structure, which depends on its type. o e.g: A text file is a sequence of characters organized into lines o A source file is a sequence of subroutines and functions, each of which is further organized as declarations followed by executable statements. o An object file is a sequence of bytes organized into blocks understandable by the system’s linker. o An executable file is a series of code sections that the loader can bring into memory and execute. 9

10 File Attributes  Name – only information kept in human-readable form  Identifier – unique tag (number) identifies file within file system  Type – needed for systems that support different types  Location – pointer to file location on device  Size – current file size  Protection – controls who can do reading, writing, executing  Time, date, and user identification – data for protection, security, and usage monitoring  Information about files are kept in the directory structure, which is maintained on the disk  The size of the directory itself may be megabytes. 10

11 File Operations  File is an abstract data type  Basic File Operations:  Creating a file.  Writing a file.  Reading a file.  Repositioning within a file.  Deleting a file.  Truncating a file. 11

12 File Operations (Cont.) CreateWrite Two steps are necessary to create a file. 1. space in the file system must be found for the file… how? 2.an entry for the new file must be made in the directory. To write a file, we make a system call specifying both the name of the file and the information to be written to the file.  Given the name of the file, the system searches the directory to find the file’s location.  The system must keep a write pointer to the location in the file where the next write is to take place. The write pointer must be updated whenever a write occurs. 12

13 File Operations (cont.) ReadDelete To read from a file, we use a system call that 1.specifies file name and where (in memory) the next block of the file should be put. 2.the directory is searched for the associated entry, 3.the system keeps a read pointer to the location in the file where the next read is to take place. 4.Once the read has taken place, the read pointer is updated To delete a file  Provide name and search the directory for it  Having found it, we release all file space, so that it can be reused by other files, and erase the directory entry 13

14 File Operations (cont.) Truncating a file Repositioning within a file.  The user may want to erase the contents of a file but keep its attributes. Rather than forcing the user to delete the file and then recreate it, this function allows all attributes to remain unchanged—except for file length—but lets the file be reset to length zero  The directory is searched for the appropriate entry,  The current-file-position pointer is repositioned to a given value.  Repositioning within a file need not involve any actual I/O.  This file operation is also known as a file seek. 14

15 File Types 15  A common technique for implementing file types is to include the type as part of the file name.  The name is split into two parts—a name and an extension, usually separated by a period character. E.G.: resume.doc, Server.java.  The system uses the extension to indicate the type of the file and the type of operations that can be done on that file.  Only a file with a.com,.exe, or.bat extension can be executed,  Application programs also use extensions to indicate file types in which they are interested.  For example, the Microsoft Word expects its files to end with a (.docx) extension

16 File Types – Name, Extension 16

17 File Structure 17  File types also can be used to indicate the internal structure of the file.  Who decides the internal file structure?? Operating system or the application  APPROCH(1) : the operating system support multiple file structures  Disadvantages :  The resulting size of the operating system is huge.  If the operating system defines five different file structures, it needs to contain the code to support these file structures.  When new applications require information structured in ways not supported by the operating system, severe problems may result. Two approaches

18 File Structure (Cont.) 18  APPROCH(2) : the operating system support minimum file structures  This approach has been adopted in UNIX, MS-DOS, and others.  UNIX considers each file to be a sequence of 8-bit bytes; no interpretation of these bits is made by the operating system.  This scheme provides maximum flexibility but little support.  Each application program must include its own code to interpret an input file as to the appropriate structure.  However, all operating systems must support at least one structure—that of an executable file—so that the system is able to load and run programs.

19 File Access Methods 19

20 Access Methods 1. Sequential Access2. Direct Access (or relative access) Information in the file is processed in order, one record after the other. This mode of access is by far the most common read next, write next reset A file is made up of fixed length of logical records that allow programs to read and write records rapidly in no particular order. read n, write n, position to n read next, write next, n = relative block number 20

21 Simulation of Sequential Access on a Direct- access File 21

22 Directory and Disk Structure 22

23  A storage device can be used in its entirety for a file system. each partition can hold a file system  It can also be subdivided into partitions (each partition can hold a file system)  Partitioning is useful for limiting the sizes of individual file systems, Directory Structure  Partitions are also known as slices or (in the IBM world) minidisks.  Any entity containing a file system is generally known as a volume. 23

24 Directory Structure (cont..)  Each volume can be thought of as a virtual disk.  Each volume that contains a file system must also contain information about the files in the system. This is the device directory (simply as that directory)  records information—such as name, location, size, and type—for all files on that volume. file-system organization. 24

25  A collection of nodes containing information about all files F 1 F 2 F 3 F 4 F n Directory Files Both the directory structure and the files reside on disk Backups of these two structures are kept on tapes Directory Structure (cont..) 25

26 A Typical File-system Organization 26

27 Operations Performed on Directory  Search for a file  Create a file  Delete a file  List a directory  Rename a file  Traverse the file system 27

28 Organize the Directory (Logically) to Obtain  Schemes for defining the logical structure of a directory:  Single-Level Directory  Two-Level Directory  Tree-Structured Directories  How to evaluate these schemes??  Efficiency – OS ability to locate a file quickly (i.e. searching)  Naming facility– files naming must be convenient to users  Grouping facility- user ability to group existing files in to sub folders to organize them. 28

29 Single-Level Directory  Basic Idea: A single directory for all files and users.  Pros. (++): The simplest structure 29

30 Single-Level Directory (Cont.)  Cons. (--):  Naming problem: Since all files are in the same directory, they must have unique names.so it is difficult for user to find unique names for all files…why??  number of files is big,specially when the system has more than one user.  Some OS’s have restriction on files’ names (e.g.: The MS-DOS operating system allows only 11-character file names; UNIX, in contrast, allows 255 characters. )  Grouping problem : user can’t organize his files into sub folders  Efficiency : OS must search the whole directory for one file 30

31 Two-Level Directory  Basic Idea: create Separate directory for each user  Each user has his own user file directory (UFD). The UFD lists only the files of a single user.  When a user job starts or a user logs in, the system’s master file directory (MFD) is searched. The MFD is indexed by user name or account number, and each entry points to the UFD for that user  When a user refers to a particular file, only his own UFD is searched.  Two-level directory can be thought of as a tree of height 2. 31

32  Pros. (++):  Can have the same file name for different user………….(naming facility)  Searching is more efficient than single-level scheme. To create or delete a file for a user, the OS searches only that user’s UFD…(efficiency)  Every file in the system has a unique path name. (a user name and a file name defines a path in the tree from the root (the MFD) to a leaf (the specified file))  Cons. (--):  No grouping capability  Single user must create different names for all his files Two-Level Directory (Cont.) 32

33 Tree-Structured Directories 33  Basic Idea:  extend the directory structure to a tree of arbitrary height  A tree is the most common directory structure.  The tree has a root directory, and every file in the system has a unique path name.  A directory (or subdirectory) contains a set of files or subdirectories.  A directory is simply another file, but it is treated in a special way. All directories have the same internal format. One bit in each directory entry defines the entry as a file (0) or as a subdirectory (1).  In normal use, each process has a current directory.  The current directory should contain most of the files that are of current interest to the process.  When reference is made to a file, the current directory is searched.  If a file is needed that is not in the current directory, then the user usually must either specify a path name or change the current directory

34 Tree-Structured Directories (Cont.) 34

35 Tree-Structured Directories (Cont.) 35  Pros. (++):  Allows users to create their own subdirectories and to organize their files accordingly.  Searching is faster because it performed in the current directory only  Naming becomes more easier for user (i.e. a user can have multiple files with the same name if they located in different directories)  Cons. (--):  More complex to implement

36 File Sharing & Protection 36

37 File Sharing  Sharing of files on multi-user systems is desirable  Sharing may be done through a protection scheme  To implement sharing and protection:  The system must maintain more file and directory attributes than are needed on a single-user system.  Most systems have evolved to use the concepts of owner and group.  The owner is the user who can change attributes and grant access and who has the most control over the file.  The group attribute defines a subset of users who can share access to the file. 37

38 Protection  When information is stored in a computer system, we want to keep it safe from physical damage (the issue of reliability) and improper access (the issue of protection).  Reliability is generally provided by duplicate copies of files  Protection :  In a small single-user system,: we might provide protection by physically removing the storage media and locking them in a cabinet.  In a multiuser system: OS’s must provide controlled access by limiting the types of file access that can be made.  Access is permitted or denied depending on several factors, one of which is the type of access requested. 38

39 Protection  Access Type:  Read  Write  Execute  Append  Delete  List : List the name and attributes of the file.  Many systems recognize three classifications of users in connection with each file:  Owner : The user who created the file is the owner.  Group. A set of users who are sharing the file and need similar access  Universe. All other users in the system constitute the universe  The owner should be able to control what type of access can applied on the file and by whom 39

40 Thank you The End 40


Download ppt "Operating Systems (CS 340 D) Princess Nora University Faculty of Computer & Information Systems Computer science Department."

Similar presentations


Ads by Google