This document outlines key concepts related to CPU scheduling and file systems. It discusses file attributes, operations, types and structures. It also covers different access methods for files including sequential, direct, and indexed access. The document discusses various directory structures from single-level to tree-structured and graph directories. It also covers topics like file system mounting, file sharing across networks, consistency semantics, and protection through access controls and permissions.
The document discusses key aspects of file systems and file interfaces. It covers file concepts like attributes, operations, and types. It also covers access methods like sequential, direct, and indexed access. It discusses directory structures from single-level to tree-structured directories. Other topics covered include file system mounting, file sharing through multiple users and remote file systems, and protection through access controls and permissions.
The document discusses various aspects of file systems and storage management in operating systems. It covers topics like file attributes, operations, structures, access methods, directory structures, file sharing, consistency semantics, and protection. File attributes include the file name, size, type and protection attributes. Common file operations are creating, reading, writing and deleting files. Files can have sequential, direct or indexed access methods. Directory structures can be single-level, two-level, tree-structured or graph-based. File sharing requires consistency models like Unix, session or immutable semantics. Protection controls access via access matrices, access control lists or capability lists.
The document discusses file concepts, file management, and file attributes. It defines a file as a named collection of related information recorded on secondary storage. It describes different types of files including program files, data files, and their various structures. The document also discusses common file operations and types.
This chapter discusses file systems and their interfaces. It covers key concepts like files, directories, access methods, mounting file systems, file sharing, and protection. Directories provide structure and organization for files on a file system using tree or graph structures. File systems support operations like creating/deleting files, searching directories, and opening/closing files. They also implement features like file sharing across networks and access control using permissions.
ITFT_File system interface in Operating SystemSneh Prabha
File systems provide structure and organization for files on storage devices. They define file attributes like name, size, permissions and structure directories to group related files in a hierarchical tree. File systems expose files through an abstract interface of operations like create, read, write and delete and maintain metadata about open files and their locations. Access control features like permissions and sharing protocols allow multi-user systems to securely share files.
This document discusses directory structures and file system mounting in operating systems. It describes several types of directory structures including single-level, two-level, hierarchical, tree, and acyclic graph structures. It notes that directories organize files in a hierarchical manner and that mounting makes storage devices available to the operating system by reading metadata about the filesystem. Mounting attaches an additional filesystem to the currently accessible filesystem, while unmounting disconnects the filesystem.
The document outlines key concepts in file system implementation, including:
- Important on-disk data structures include the boot block, volume control block containing partition details, directory structure linking file names to file control blocks (FCBs), and FCBs containing file metadata.
- Important in-memory structures include a mount table, directory cache, system-wide open file table tracking open files, and per-process open file tables.
- When a file is created, an FCB is allocated and the directory is updated; when opened, the FCB is copied to open file tables and indexed by a file descriptor/handle for I/O operations.
This document provides an overview of file systems, including:
- File systems separate data into named files and provide structure and logic for managing these files.
- There are many different types of file systems designed for different storage media and applications.
- Common file systems for Linux include Ext2, Ext3, Ext4, and ZFS. Ext2-4 are suitable for most systems while ZFS is better for storage servers with multiple disks.
- Commands covered include find, locate, updatedb, wildcards, soft/hard links, file ownership, help utilities, tab completion, and redirection.
The document discusses key aspects of file systems and file interfaces. It covers file concepts like attributes, operations, and types. It also covers access methods like sequential, direct, and indexed access. It discusses directory structures from single-level to tree-structured directories. Other topics covered include file system mounting, file sharing through multiple users and remote file systems, and protection through access controls and permissions.
The document discusses various aspects of file systems and storage management in operating systems. It covers topics like file attributes, operations, structures, access methods, directory structures, file sharing, consistency semantics, and protection. File attributes include the file name, size, type and protection attributes. Common file operations are creating, reading, writing and deleting files. Files can have sequential, direct or indexed access methods. Directory structures can be single-level, two-level, tree-structured or graph-based. File sharing requires consistency models like Unix, session or immutable semantics. Protection controls access via access matrices, access control lists or capability lists.
The document discusses file concepts, file management, and file attributes. It defines a file as a named collection of related information recorded on secondary storage. It describes different types of files including program files, data files, and their various structures. The document also discusses common file operations and types.
This chapter discusses file systems and their interfaces. It covers key concepts like files, directories, access methods, mounting file systems, file sharing, and protection. Directories provide structure and organization for files on a file system using tree or graph structures. File systems support operations like creating/deleting files, searching directories, and opening/closing files. They also implement features like file sharing across networks and access control using permissions.
ITFT_File system interface in Operating SystemSneh Prabha
File systems provide structure and organization for files on storage devices. They define file attributes like name, size, permissions and structure directories to group related files in a hierarchical tree. File systems expose files through an abstract interface of operations like create, read, write and delete and maintain metadata about open files and their locations. Access control features like permissions and sharing protocols allow multi-user systems to securely share files.
This document discusses directory structures and file system mounting in operating systems. It describes several types of directory structures including single-level, two-level, hierarchical, tree, and acyclic graph structures. It notes that directories organize files in a hierarchical manner and that mounting makes storage devices available to the operating system by reading metadata about the filesystem. Mounting attaches an additional filesystem to the currently accessible filesystem, while unmounting disconnects the filesystem.
The document outlines key concepts in file system implementation, including:
- Important on-disk data structures include the boot block, volume control block containing partition details, directory structure linking file names to file control blocks (FCBs), and FCBs containing file metadata.
- Important in-memory structures include a mount table, directory cache, system-wide open file table tracking open files, and per-process open file tables.
- When a file is created, an FCB is allocated and the directory is updated; when opened, the FCB is copied to open file tables and indexed by a file descriptor/handle for I/O operations.
This document provides an overview of file systems, including:
- File systems separate data into named files and provide structure and logic for managing these files.
- There are many different types of file systems designed for different storage media and applications.
- Common file systems for Linux include Ext2, Ext3, Ext4, and ZFS. Ext2-4 are suitable for most systems while ZFS is better for storage servers with multiple disks.
- Commands covered include find, locate, updatedb, wildcards, soft/hard links, file ownership, help utilities, tab completion, and redirection.
The document discusses various concepts related to file systems including file structure, attributes, operations, access methods, directory structure, mounting, sharing and protection. It describes the basic components of a file system including files, directories and how they are organized in a tree structure with path names to locate files efficiently. It also covers common file operations, sequential and direct access methods, and how files can be shared across systems through mounting and network file sharing protocols.
The document discusses the file system interface. It describes key concepts such as files, directories, and access methods. Files are the basic unit of data storage with attributes like name, size, and permissions. Directories organize files in a hierarchical structure and allow searching, creating, deleting and listing files. There are various methods to access files sequentially or directly by record number. The directory structure has evolved from single-level to tree-structured and acyclic graphs to provide efficient searching and grouping of files. File systems need to be mounted before files can be accessed. Permissions control sharing of files between users in a multi-user system.
This document discusses different methods for protecting files, including file naming, passwords, and access control. File naming involves following conventions for case sensitivity, character limits, and prohibited characters. Passwords can be associated with individual files but have limitations if only one password is used for all files. Access control involves associating access lists or groups with files to restrict access based on user identity and type of access requested (read, write, execute, delete). Overall the document compares methods for controlled access and restricting types of access to files.
File systems organize and store data on various storage media like hard drives. They consist of structures like directories and files to track allocated space, file names and locations. Key functions include managing free space, directories, and file storage locations. Common file systems include FAT, NTFS, disk, flash, tape, database, network and special purpose file systems. File systems use inodes, directories, block allocation maps and other metadata to organize and track files.
This document discusses different file directory structures used in operating systems. It describes single-level, two-level, tree-structured, and general graph directory structures. Single-level directories have each user get their own directory space with unique file names. Two-level directories add the concept of a root directory and allow specifying the directory being accessed. Tree-structured directories allow files to be accessed in multiple places using symbolic links. General graph directories allow cycles but can cause problems for search algorithms and garbage collection.
The document discusses the structure of file systems. It explains that a file system provides mechanisms for storing and accessing files and data. It uses a layered approach, with each layer responsible for specific tasks related to file management. The logical file system contains metadata and verifies permissions and paths. It maps logical file blocks to physical disk blocks using a file organization module, which also manages free space. The basic file system then issues I/O commands to access those physical blocks via device drivers, with I/O controls handling interrupts.
This document discusses file systems and their components. It describes the file system interface that allows users to access and manipulate files. Files have attributes like name, size, permissions etc. The main file operations are create, read, write, delete etc. Files can be ordinary, directory or special types. They can be accessed sequentially, directly or via indexes. Directories store information about files in a tree structure to allow efficient searching and grouping of related files.
The document discusses file system implementation and structures. It covers on-disk structures like boot sector, master file table, and inode. In-memory structures include mount tables, directory caches, and open file tables. File systems use various allocation methods like contiguous, linked, and indexed allocation to map files to disk blocks. File systems also require free space management, typically using bit vectors or linked lists. Performance can be improved through techniques like caching and read-ahead.
This document summarizes key aspects of file system implementation discussed in Chapter 11. It describes the layered structure of file systems, with device drivers, the basic file system, file organization module, and logical file system layers. It also discusses important on-disk and in-memory file system structures like the boot block, superblock, file control blocks, and in-memory structures like the mount table. Common allocation methods like contiguous and linked allocation are explained. Directory implementation as linked lists or hash tables is covered as well.
This document summarizes key concepts from Chapter 11 of the textbook "Operating System Concepts - 9th Edition" by Silberschatz, Galvin and Gagne. It discusses file systems, including file concepts, attributes, operations, access methods, directory structures, and disk structures. It describes different types of file organizations like sequential, direct, and indexed access and different file system types like general purpose, temporary, and special purpose file systems used in Solaris. It also covers operations on directories like searching, creating, deleting files and file directory organization methods.
Files are sequences of data organized in a structure defined by their creator. They have attributes like a name, size, and permissions. There are different file structures - text files are sequences of characters organized into lines, while object files contain machine-readable blocks. Files are stored in a directory and accessed using methods like sequential, direct, or indexed sequential access. The operating system allocates disk space to files using allocation methods like contiguous, linked, or indexed allocation and provides protection through access controls and permissions.
Computers store files on disks in a file system that allows for structured access, reliability, and efficient use of space. A file system gives files names and attributes and stores them in a hierarchical directory structure. It implements techniques like hash tables to allow fast searching of file names and uses allocation methods like contiguous allocation to store file blocks efficiently and allow quick access.
This document discusses various aspects of file systems including:
1. It defines what a file is and lists some common file attributes like name, size, and timestamps.
2. It describes different file operations like create, read, write, delete and different methods to access and store files like sequential, random, and index access.
3. It discusses file system implementation techniques like contiguous allocation, linked lists, and i-nodes and how free space is managed through approaches like bitmaps and linked lists.
The document discusses file system implementation and structure. It covers topics like directory implementation using linear lists and hash tables, different allocation methods like contiguous, linked and indexed allocation, free space management using bit vectors and linked lists, improving performance through caching, and recovery methods like consistency checking and log structured file systems. It also provides an overview of the Sun Network File System (NFS) including its architecture, mount protocol, and remote operations.
The document discusses the structure and implementation of file systems. It describes the layered design of file systems, with the physical devices at the lowest level and the logical file system at the highest level. It also outlines several important on-disk data structures used by file systems, including the boot control block, volume control block, and directory structure. These structures store information needed to boot an operating system, manage disk space and blocks, and organize the directory structure and file metadata.
Files are the basic unit of storage in a computer system. They contain information that is persistent, even after the creating process ends. Files have various attributes like name, type, size, location and protection settings. Operating systems support basic file operations like create, open, read, write, delete and rename. Files can be accessed sequentially from beginning to end or randomly by seeking specific locations or records.
The document discusses file management and directories. It describes block management strategies like contiguous allocation and linked lists. It discusses reading and writing byte streams which involves packing and unpacking blocks of data. It also covers supporting high-level file abstractions like structured sequential files and indexed sequential files. Finally, it discusses directories and their structures like hierarchical and graph-based organizations.
This document outlines the key objectives and topics related to process synchronization in operating systems. It introduces the critical section problem, where multiple processes need coordinated access to shared resources. Classical solutions to this problem include Peterson's algorithm and using synchronization primitives like mutex locks and semaphores. Other classic problems in synchronization that are discussed include the bounded buffer problem, readers-writers problem, and dining philosophers problem. The document also covers approaches to synchronization in different operating systems.
This document outlines the key objectives and topics of a chapter on process synchronization. The chapter will introduce the critical-section problem and its solutions, both in software and hardware. It will examine classical process synchronization problems like the bounded-buffer problem, readers-writers problem, and dining philosophers problem. The chapter will also explore tools for solving synchronization issues, such as mutex locks, semaphores, monitors, and alternative approaches like transactional memory and OpenMP.
The document discusses various concepts related to file systems including file structure, attributes, operations, access methods, directory structure, mounting, sharing and protection. It describes the basic components of a file system including files, directories and how they are organized in a tree structure with path names to locate files efficiently. It also covers common file operations, sequential and direct access methods, and how files can be shared across systems through mounting and network file sharing protocols.
The document discusses the file system interface. It describes key concepts such as files, directories, and access methods. Files are the basic unit of data storage with attributes like name, size, and permissions. Directories organize files in a hierarchical structure and allow searching, creating, deleting and listing files. There are various methods to access files sequentially or directly by record number. The directory structure has evolved from single-level to tree-structured and acyclic graphs to provide efficient searching and grouping of files. File systems need to be mounted before files can be accessed. Permissions control sharing of files between users in a multi-user system.
This document discusses different methods for protecting files, including file naming, passwords, and access control. File naming involves following conventions for case sensitivity, character limits, and prohibited characters. Passwords can be associated with individual files but have limitations if only one password is used for all files. Access control involves associating access lists or groups with files to restrict access based on user identity and type of access requested (read, write, execute, delete). Overall the document compares methods for controlled access and restricting types of access to files.
File systems organize and store data on various storage media like hard drives. They consist of structures like directories and files to track allocated space, file names and locations. Key functions include managing free space, directories, and file storage locations. Common file systems include FAT, NTFS, disk, flash, tape, database, network and special purpose file systems. File systems use inodes, directories, block allocation maps and other metadata to organize and track files.
This document discusses different file directory structures used in operating systems. It describes single-level, two-level, tree-structured, and general graph directory structures. Single-level directories have each user get their own directory space with unique file names. Two-level directories add the concept of a root directory and allow specifying the directory being accessed. Tree-structured directories allow files to be accessed in multiple places using symbolic links. General graph directories allow cycles but can cause problems for search algorithms and garbage collection.
The document discusses the structure of file systems. It explains that a file system provides mechanisms for storing and accessing files and data. It uses a layered approach, with each layer responsible for specific tasks related to file management. The logical file system contains metadata and verifies permissions and paths. It maps logical file blocks to physical disk blocks using a file organization module, which also manages free space. The basic file system then issues I/O commands to access those physical blocks via device drivers, with I/O controls handling interrupts.
This document discusses file systems and their components. It describes the file system interface that allows users to access and manipulate files. Files have attributes like name, size, permissions etc. The main file operations are create, read, write, delete etc. Files can be ordinary, directory or special types. They can be accessed sequentially, directly or via indexes. Directories store information about files in a tree structure to allow efficient searching and grouping of related files.
The document discusses file system implementation and structures. It covers on-disk structures like boot sector, master file table, and inode. In-memory structures include mount tables, directory caches, and open file tables. File systems use various allocation methods like contiguous, linked, and indexed allocation to map files to disk blocks. File systems also require free space management, typically using bit vectors or linked lists. Performance can be improved through techniques like caching and read-ahead.
This document summarizes key aspects of file system implementation discussed in Chapter 11. It describes the layered structure of file systems, with device drivers, the basic file system, file organization module, and logical file system layers. It also discusses important on-disk and in-memory file system structures like the boot block, superblock, file control blocks, and in-memory structures like the mount table. Common allocation methods like contiguous and linked allocation are explained. Directory implementation as linked lists or hash tables is covered as well.
This document summarizes key concepts from Chapter 11 of the textbook "Operating System Concepts - 9th Edition" by Silberschatz, Galvin and Gagne. It discusses file systems, including file concepts, attributes, operations, access methods, directory structures, and disk structures. It describes different types of file organizations like sequential, direct, and indexed access and different file system types like general purpose, temporary, and special purpose file systems used in Solaris. It also covers operations on directories like searching, creating, deleting files and file directory organization methods.
Files are sequences of data organized in a structure defined by their creator. They have attributes like a name, size, and permissions. There are different file structures - text files are sequences of characters organized into lines, while object files contain machine-readable blocks. Files are stored in a directory and accessed using methods like sequential, direct, or indexed sequential access. The operating system allocates disk space to files using allocation methods like contiguous, linked, or indexed allocation and provides protection through access controls and permissions.
Computers store files on disks in a file system that allows for structured access, reliability, and efficient use of space. A file system gives files names and attributes and stores them in a hierarchical directory structure. It implements techniques like hash tables to allow fast searching of file names and uses allocation methods like contiguous allocation to store file blocks efficiently and allow quick access.
This document discusses various aspects of file systems including:
1. It defines what a file is and lists some common file attributes like name, size, and timestamps.
2. It describes different file operations like create, read, write, delete and different methods to access and store files like sequential, random, and index access.
3. It discusses file system implementation techniques like contiguous allocation, linked lists, and i-nodes and how free space is managed through approaches like bitmaps and linked lists.
The document discusses file system implementation and structure. It covers topics like directory implementation using linear lists and hash tables, different allocation methods like contiguous, linked and indexed allocation, free space management using bit vectors and linked lists, improving performance through caching, and recovery methods like consistency checking and log structured file systems. It also provides an overview of the Sun Network File System (NFS) including its architecture, mount protocol, and remote operations.
The document discusses the structure and implementation of file systems. It describes the layered design of file systems, with the physical devices at the lowest level and the logical file system at the highest level. It also outlines several important on-disk data structures used by file systems, including the boot control block, volume control block, and directory structure. These structures store information needed to boot an operating system, manage disk space and blocks, and organize the directory structure and file metadata.
Files are the basic unit of storage in a computer system. They contain information that is persistent, even after the creating process ends. Files have various attributes like name, type, size, location and protection settings. Operating systems support basic file operations like create, open, read, write, delete and rename. Files can be accessed sequentially from beginning to end or randomly by seeking specific locations or records.
The document discusses file management and directories. It describes block management strategies like contiguous allocation and linked lists. It discusses reading and writing byte streams which involves packing and unpacking blocks of data. It also covers supporting high-level file abstractions like structured sequential files and indexed sequential files. Finally, it discusses directories and their structures like hierarchical and graph-based organizations.
This document outlines the key objectives and topics related to process synchronization in operating systems. It introduces the critical section problem, where multiple processes need coordinated access to shared resources. Classical solutions to this problem include Peterson's algorithm and using synchronization primitives like mutex locks and semaphores. Other classic problems in synchronization that are discussed include the bounded buffer problem, readers-writers problem, and dining philosophers problem. The document also covers approaches to synchronization in different operating systems.
This document outlines the key objectives and topics of a chapter on process synchronization. The chapter will introduce the critical-section problem and its solutions, both in software and hardware. It will examine classical process synchronization problems like the bounded-buffer problem, readers-writers problem, and dining philosophers problem. The chapter will also explore tools for solving synchronization issues, such as mutex locks, semaphores, monitors, and alternative approaches like transactional memory and OpenMP.
Sandeep SK is a tool maker with 5 years of experience seeking a position in a growing firm. He has strong knowledge in tool development and project management. He has hands-on experience in press tool maintenance, mold maintenance, and new tooling processes. He is proficient in AutoCAD, PROE, and measuring instruments. Currently he works as a team lead at Group Cahors, where he is responsible for preventative maintenance, new tooling development, leading a tooling team, and more. He has received honors for his contributions. He holds a technical diploma in tool and die making and is seeking new opportunities.
This document outlines different methods for handling deadlocks in operating systems, including deadlock prevention, avoidance, detection, and recovery. It discusses the four necessary conditions for deadlock and defines a resource-allocation graph model. For deadlock prevention, it describes ways to ensure that the mutual exclusion, hold and wait, no preemption, and circular wait conditions cannot simultaneously hold through protocols like requesting all resources at start, releasing resources before requesting new ones, preempting held resources, and imposing a total ordering of resource types. Deadlock avoidance uses additional process information to decide if a request should wait. Detection identifies deadlocks in the system state, while recovery terminates processes or preempts resources.
The document discusses several aspects of file and directory structure in operating systems. It describes different approaches to implementing directories, including linear lists and hash tables. It also discusses file access mechanisms in distributed file systems, including how file name mapping, caching, and various protocols for open, read, and close operations work. The key components of a file system structure, such as the logical file system, file organization module, and layers of an application program, logical file system, and file organization are also summarized.
Useful documents for engineering students of CSE, and specially for students of aryabhatta knowledge university, Bihar (A.K.U. Bihar). It covers following topics, File concept, access methods, directory structure
This document discusses file management and file systems. It describes the basic concepts of files including attributes, operations, access methods, and structures. It covers directory organization including tree structures and sharing files locally and remotely. The objectives are to explain file systems, interfaces, design tradeoffs regarding access methods, sharing, locking and directories, and protection.
The document discusses various concepts related to file systems including file structure, attributes, operations, access methods, directory structure, mounting, sharing and protection. It describes the basic components of a file system including files, directories and how they are organized in a tree structure with path names to locate files efficiently. It also covers common file operations, sequential and direct access methods, and how files can be shared across systems through mounting and network file sharing protocols.
The document discusses various concepts related to file systems including file structure, attributes, operations, access methods, directory structure, mounting, sharing and protection. It describes hierarchical tree-structured directories as the most common organization that allows for efficient searching, grouping of files and use of absolute or relative path names. File sharing across networks can be enabled through various protection schemes and network file systems like NFS.
The document discusses file concepts and file systems. It defines a file as a contiguous logical address space that can contain data or program code. Files have attributes like name, size, permissions that are stored in a directory structure on disk. Common file operations are create, write, read, delete. Files can be accessed sequentially or directly via their block number. Disk space is managed through techniques like bit vectors, linked lists, grouping, and counting to track free blocks.
This document discusses file systems and file management. It begins by defining key file concepts like file attributes and operations. It then covers topics like access methods, directory structures, file sharing, protection, and file system implementation details. The objectives are to explain file system functions, describe interfaces, discuss design tradeoffs for components like access methods and directories, and explore file system protection.
File Input/output, Database Access, Data Analysis with PandasPrabu U
The presentation starts with File Input and Output. Then the concepts of Database Access is detailed. Atlast the concepts data analysis with Pandas is covered
The document discusses file system implementation and structure. It covers topics like directory implementation using linear lists and hash tables, different allocation methods like contiguous, linked and indexed allocation, free space management using bit vectors and linked lists, improving efficiency through caching, and recovery methods like consistency checking and log-structured file systems. It also provides an overview of the Sun Network File System (NFS) including its architecture, mount protocol, and remote operations.
The document discusses file system implementation and structure. It covers topics like directory implementation using linear lists and hash tables, different allocation methods like contiguous, linked and indexed allocation, free space management using bit vectors and linked lists, improving efficiency through caching, and recovery methods like consistency checking and log-structured file systems. It also provides an overview of the Sun Network File System (NFS) including its architecture, mount protocol, and remote operations.
This document provides an overview of file management and file systems. It discusses the basic components of a file including fields, records, files, and databases. It describes common file organization types like sequential, indexed sequential, indexed, and direct files. It also explains the basic components and objectives of a file management system. Finally, it covers B-trees, which are a balanced tree structure commonly used to organize indexes in databases and file systems to provide efficient searching, insertion, and deletion of items.
This document discusses key concepts related to file system interfaces including:
1) File systems provide a logical representation of files and directories that can be accessed through defined operations like create, read, write, delete.
2) Files can be organized using different structures like sequential access, direct access, and indexed/relative files. Directories provide a way to group related files in a hierarchical structure.
3) File sharing, protection, and consistency models are important aspects of how multiple users can concurrently access the same files in a file system.
This document discusses managing the Linux file system. It describes the Linux file system structure, including the main directories like /bin, /home, /etc. It also covers common file system tasks like navigating directories, managing files and directories by creating, deleting, copying and moving files. Additional topics covered include managing disk partitions by creating partitions with fdisk and formatting partitions with file systems using mkfs, mounting partitions, and checking file systems with fsck.
Host security measures aim to comprehensively protect individual hosts through host-centric approaches tailored to the host's architecture and configuration. This involves securing configurations, access controls, permissions and services on Unix-like systems. Common weaknesses include password issues, exploitable services and improper permissions. Unix uses users, groups and world permissions on files and directories to control access. Proper configuration of these permissions and use of setuid programs is important for security. The Unix password system has evolved from storing passwords in plaintext to using shadow files and stronger encryption.
Host security measures aim to comprehensively protect individual hosts through host-centric approaches tailored to the host's architecture and configuration. This involves securing configurations, access controls, permissions and services on Unix-like systems. Common weaknesses include password issues, exploitable services and improper permissions. Unix uses users, groups and world permissions on files and directories to control access. Sensitive system directories must have proper permissions to balance security and usability. Remote access utilities like rlogin pose risks if not properly configured, so disabling them in favor of SSH is recommended. The Unix password system has evolved from insecure early implementations to more secure modern schemes that hash passwords and store them separately from account details.
The document discusses Linux file systems. It explains that a Linux file system is a structured collection of files stored on disk partitions. It manages files by arranging them in a hierarchical directory structure and storing metadata like file names, sizes, and timestamps. Common Linux file systems include Ext4, XFS, BTRFS, and others. File permissions in Linux assign read, write, and execute access separately for the file owner, group, and others.
The kernel manages system resources like disks, tapes, printers, and communication lines. The file system provides an organizing structure for data storage through files and directories arranged in a hierarchical tree structure with the root directory at the top. The shell acts as the interface between the user and the operating system by translating commands to actions by the kernel and programs. UNIX allows for multi-tasking of multiple processes running simultaneously and is multi-user, enabling multiple users to use the same system simultaneously.
The document discusses file systems and file organization. It covers key concepts like file attributes, operations, structures, types and access methods. It also summarizes different directory structures including single-level, two-level, tree-structured and acyclic graph directories. The last part touches on file system mounting and mount points.
This document discusses file structures, access methods, directory structures, and file protection. It describes the basic structures of different types of files like text files, source files, and object files. It also outlines common file access methods like sequential, direct, and indexed sequential access. The document then explains different directory structures from single-level to general graph and how they organize files. Finally, it covers methods for protecting files through access control lists, user classifications, and passwords as well as issues with each approach.
The document discusses features on the Insert, Home, and Page Layout tabs in Microsoft Word that allow formatting and styling text and other elements. Galleries on the Insert tab include items that coordinate with the overall document style and can be used to insert common elements like tables and headers. Text formatting can be applied using the options on the Home tab or by selecting styles from the Quick Styles gallery. The overall document style can be changed using themes on the Page Layout tab.
The document discusses different approaches to writing data to caches, including write-through caches that update both the cache and main memory on writes, and write-back caches that only update main memory when replacing cache blocks. It also describes modern CPU cache designs, such as split instruction/data caches, write buffers, multiple cache levels, and techniques to reduce memory stalls like non-blocking caches and cache banking.
This document provides an overview and outline of a chapter that describes implementing a processor to execute instructions from the MIPS instruction set architecture. It discusses building a basic datapath with functional units like a register file, ALU, program counter, and data memory. Multiplexors are used to select data sources and a control unit decodes instructions to set control lines that direct data flow and functional unit operations. The chapter then describes refining this design to implement pipelining for improved performance.
This document provides an overview and outline of key topics in implementing a processor, including:
- It describes building a datapath and control unit to implement a simple MIPS processor, including functional units like registers, ALU, and memory.
- It explains the flow of data and control through the processor, from fetching instructions from memory to executing operations and writing results.
- It discusses adding multiplexors and control lines to direct data between functional units based on the instruction, as well as pipelining the design for improved performance.
This document provides an overview of topics in computer arithmetic covered in Chapter 3, including addition, subtraction, multiplication, division, floating point representation, parallelism, and implications for instruction sets. Key points covered include how addition and subtraction are performed at the bit level; how overflow is detected in two's complement systems; how unsigned integers handle overflow; and how parallel arithmetic units can perform simultaneous operations on vector data for applications like graphics and audio.
This document outlines topics related to sequential circuits including storage elements like latches and flip-flops, the analysis of clocked sequential circuits using state equations and diagrams, state reduction and assignment techniques, and the design procedure for synthesizing sequential circuits using different types of flip-flops. It also lists further reading materials and notes areas that need more explanation.
This document outlines the key topics in combinational circuits including analysis, design, common circuits like adders and decoders, and provides procedures for analyzing and designing combinational circuits from Boolean functions or truth tables. It describes combinational circuits as those whose outputs depend only on the present combination of inputs and discusses standard components like adders, subtractors, comparators, encoders and multiplexers. The analysis and design procedures involve determining the Boolean functions or truth table that define a circuit's behavior and using those to derive the corresponding logic diagram.
This document provides an overview of topics in computer arithmetic, including addition, subtraction, multiplication, division, and floating point representation. It discusses how operations are performed at the hardware level, including how overflows are detected in two's complement systems. It also covers parallelism techniques used in multimedia applications, such as SIMD instructions that can perform the same operation on multiple data elements simultaneously.
This document outlines topics related to sequential circuits including storage elements like latches and flip-flops, the analysis of clocked sequential circuits using state equations and diagrams, state reduction and assignment techniques, and the design procedure for synthesizing sequential circuits using different types of flip-flops. It also lists further reading materials and notes areas that need more explanation.
This document outlines the key topics covered in combinational circuits, including:
1) It introduces combinational circuits and their analysis and design procedures.
2) Some common combinational circuits that are used extensively in digital systems design are discussed, such as adders, subtractors, comparators, decoders, encoders, and multiplexers.
3) The analysis of a combinational circuit involves determining the Boolean functions or truth table that represent the circuit's functionality. The design of a combinational circuit starts with specifying the required inputs/outputs and deriving the truth table and Boolean functions that define the required logic.
The document discusses Karnaugh mapping techniques for simplifying Boolean logic expressions. It begins by explaining that Karnaugh maps are faster and easier than Boolean algebra for problems with 3 or more variables. It then covers the basics of Karnaugh maps, including how to generate Gray codes and place 1s and 0s on the maps corresponding to minterms and maxterms. Several examples are provided of using Karnaugh maps to identify groups of cells and arrive at simplified Sum of Products or Product of Sums expressions. The document emphasizes that Karnaugh mapping scales well to problems with many logic gates and variables, unlike Boolean algebra.
The document discusses Boolean algebra formulae and techniques for converting gate circuits to Boolean expressions. It explains that gates can be converted to equivalent expressions using DeMorgan's Theorems. Sum-of-Products and Product-of-Sums Boolean expressions can be generated from truth tables and lend themselves to implementations using AND/OR gates.
Virtual memory allows processes to have a virtual address space larger than physical memory. When a process accesses a page not in memory, a page fault occurs which is handled by reading the requested page from disk into a free frame. Page replacement algorithms select a victim page to replace when there are no free frames, such as FIFO which replaces the oldest page. The optimal page replacement algorithm OPT replaces the page that will not be used for the longest time in the future but cannot be implemented as it requires knowing the future.
This document discusses input/output (I/O) systems in 3 parts:
1) I/O hardware including devices, buses, controllers, polling, and interrupts. Interrupts allow hardware to notify the CPU when a device is ready rather than requiring repeated polling.
2) The application I/O interface including block/character devices, networks, clocks/timers, and blocking/non-blocking I/O.
3) The kernel I/O subsystem which transforms requests to hardware operations, handles scheduling, buffering, caching, error handling and more. Device drivers plug into the OS to support specific devices.
This document discusses mass storage structures including magnetic disks, solid state disks, disk structure, disk attachment methods like host-attached storage, network-attached storage, and storage area networks. It also covers disk scheduling algorithms, disk management topics, swap space management, RAID structures, and stable storage implementation. Magnetic disks are organized into platters, tracks, cylinders, and sectors. Solid state disks use flash memory or DRAM instead of magnetic platters. Disks can be attached directly to hosts or accessed over a network. Disk scheduling algorithms aim to minimize seek times and rotational latency when servicing multiple requests. RAID and swap space management improve reliability, performance and memory management respectively.
The document discusses Karnaugh mapping, which is a method for simplifying Boolean logic expressions. It provides guidelines for when different simplification methods like Boolean algebra or Karnaugh maps are best. Karnaugh maps are well-suited for problems with up to 6 variables and allow forming groups of cells to minimize logic. Examples show mapping logic terms to Karnaugh maps and identifying groupings to arrive at simplified expressions.
Virtual memory allows processes to have a virtual address space larger than physical memory. When a process accesses a page not in memory, a page fault occurs which is handled by reading the requested page from disk into a free frame. Page replacement algorithms select a victim page to replace when there are no free frames, such as FIFO which replaces the oldest page. The optimal page replacement algorithm OPT replaces the page that will not be used for the longest time in the future but cannot be implemented as it requires knowing the future.
This document discusses main memory management techniques used in operating systems. It covers topics like address binding, logical versus physical address spaces, dynamic loading, swapping, contiguous memory allocation, segmentation, paging, and page tables. The key points are:
1) Main memory management aims to efficiently allocate memory for processes while allowing processes to be swapped in and out of memory. It maps logical addresses to physical addresses through techniques like segmentation and paging.
2) Early techniques allocated processes to contiguous blocks of memory, but this led to fragmentation issues. Segmentation and paging allow non-contiguous allocation to avoid fragmentation.
3) Segmentation divides a process's memory into variable-sized segments that can be placed anywhere
Virtual memory allows processes to access more memory than is physically available by storing unused process memory on disk. When a process attempts to access a "page" of memory that is not in RAM, a page fault occurs which brings the page in from disk. There are several algorithms for determining which page to remove from RAM, called page replacement, when a page fault occurs and no page frames are available. The optimal page replacement algorithm would be to replace the page not used for the longest time in the future but this is not possible so algorithms try to approximate it by predicting which page will not be used soon.
This document provides an overview of process synchronization and the critical section problem in operating systems. It discusses how allowing processes to access shared data concurrently can result in race conditions and inconsistent data. The critical section problem aims to ensure only one process at a time can be in its critical section of code where it accesses shared resources. The document outlines Peterson's solution as a classic software-based approach to solving the critical section problem and achieving mutual exclusion between processes. It also discusses other synchronization techniques like semaphores and monitors that can be used to coordinate access to shared resources among cooperating processes.
Muktapishti is a traditional Ayurvedic preparation made from Shoditha Mukta (Purified Pearl), is believed to help regulate thyroid function and reduce symptoms of hyperthyroidism due to its cooling and balancing properties. Clinical evidence on its efficacy remains limited, necessitating further research to validate its therapeutic benefits.
Clinic ^%[+27633867063*Abortion Pills For Sale In Tembisa Central19various
Clinic ^%[+27633867063*Abortion Pills For Sale In Tembisa Central Clinic ^%[+27633867063*Abortion Pills For Sale In Tembisa CentralClinic ^%[+27633867063*Abortion Pills For Sale In Tembisa CentralClinic ^%[+27633867063*Abortion Pills For Sale In Tembisa CentralClinic ^%[+27633867063*Abortion Pills For Sale In Tembisa Central
Osteoporosis - Definition , Evaluation and Management .pdfJim Jacob Roy
Osteoporosis is an increasing cause of morbidity among the elderly.
In this document , a brief outline of osteoporosis is given , including the risk factors of osteoporosis fractures , the indications for testing bone mineral density and the management of osteoporosis
Promoting Wellbeing - Applied Social Psychology - Psychology SuperNotesPsychoTech Services
A proprietary approach developed by bringing together the best of learning theories from Psychology, design principles from the world of visualization, and pedagogical methods from over a decade of training experience, that enables you to: Learn better, faster!
Does Over-Masturbation Contribute to Chronic Prostatitis.pptxwalterHu5
In some case, your chronic prostatitis may be related to over-masturbation. Generally, natural medicine Diuretic and Anti-inflammatory Pill can help mee get a cure.
Integrating Ayurveda into Parkinson’s Management: A Holistic ApproachAyurveda ForAll
Explore the benefits of combining Ayurveda with conventional Parkinson's treatments. Learn how a holistic approach can manage symptoms, enhance well-being, and balance body energies. Discover the steps to safely integrate Ayurvedic practices into your Parkinson’s care plan, including expert guidance on diet, herbal remedies, and lifestyle modifications.
TEST BANK For Basic and Clinical Pharmacology, 14th Edition by Bertram G. Kat...rightmanforbloodline
TEST BANK For Basic and Clinical Pharmacology, 14th Edition by Bertram G. Katzung, Verified Chapters 1 - 66, Complete Newest Version.
TEST BANK For Basic and Clinical Pharmacology, 14th Edition by Bertram G. Katzung, Verified Chapters 1 - 66, Complete Newest Version.
TEST BANK For Basic and Clinical Pharmacology, 14th Edition by Bertram G. Katzung, Verified Chapters 1 - 66, Complete Newest Version.
TEST BANK For Basic and Clinical Pharmacology, 14th Edition by Bertram G. Katzung, Verified Chapters 1 - 66, Complete Newest Version.
8 Surprising Reasons To Meditate 40 Minutes A Day That Can Change Your Life.pptxHolistified Wellness
We’re talking about Vedic Meditation, a form of meditation that has been around for at least 5,000 years. Back then, the people who lived in the Indus Valley, now known as India and Pakistan, practised meditation as a fundamental part of daily life. This knowledge that has given us yoga and Ayurveda, was known as Veda, hence the name Vedic. And though there are some written records, the practice has been passed down verbally from generation to generation.
Adhd Medication Shortage Uk - trinexpharmacy.comreignlana06
The UK is currently facing a Adhd Medication Shortage Uk, which has left many patients and their families grappling with uncertainty and frustration. ADHD, or Attention Deficit Hyperactivity Disorder, is a chronic condition that requires consistent medication to manage effectively. This shortage has highlighted the critical role these medications play in the daily lives of those affected by ADHD. Contact : +1 (747) 209 – 3649 E-mail : sales@trinexpharmacy.com
TEST BANK For Community Health Nursing A Canadian Perspective, 5th Edition by...Donc Test
TEST BANK For Community Health Nursing A Canadian Perspective, 5th Edition by Stamler, Verified Chapters 1 - 33, Complete Newest Version Community Health Nursing A Canadian Perspective, 5th Edition by Stamler, Verified Chapters 1 - 33, Complete Newest Version Community Health Nursing A Canadian Perspective, 5th Edition by Stamler Community Health Nursing A Canadian Perspective, 5th Edition TEST BANK by Stamler Test Bank For Community Health Nursing A Canadian Perspective, 5th Edition Pdf Chapters Download Test Bank For Community Health Nursing A Canadian Perspective, 5th Edition Pdf Download Stuvia Test Bank For Community Health Nursing A Canadian Perspective, 5th Edition Study Guide Test Bank For Community Health Nursing A Canadian Perspective, 5th Edition Ebook Download Stuvia Test Bank For Community Health Nursing A Canadian Perspective, 5th Edition Questions and Answers Quizlet Test Bank For Community Health Nursing A Canadian Perspective, 5th Edition Studocu Test Bank For Community Health Nursing A Canadian Perspective, 5th Edition Quizlet Test Bank For Community Health Nursing A Canadian Perspective, 5th Edition Stuvia Community Health Nursing A Canadian Perspective, 5th Edition Pdf Chapters Download Community Health Nursing A Canadian Perspective, 5th Edition Pdf Download Course Hero Community Health Nursing A Canadian Perspective, 5th Edition Answers Quizlet Community Health Nursing A Canadian Perspective, 5th Edition Ebook Download Course hero Community Health Nursing A Canadian Perspective, 5th Edition Questions and Answers Community Health Nursing A Canadian Perspective, 5th Edition Studocu Community Health Nursing A Canadian Perspective, 5th Edition Quizlet Community Health Nursing A Canadian Perspective, 5th Edition Stuvia Community Health Nursing A Canadian Perspective, 5th Edition Test Bank Pdf Chapters Download Community Health Nursing A Canadian Perspective, 5th Edition Test Bank Pdf Download Stuvia Community Health Nursing A Canadian Perspective, 5th Edition Test Bank Study Guide Questions and Answers Community Health Nursing A Canadian Perspective, 5th Edition Test Bank Ebook Download Stuvia Community Health Nursing A Canadian Perspective, 5th Edition Test Bank Questions Quizlet Community Health Nursing A Canadian Perspective, 5th Edition Test Bank Studocu Community Health Nursing A Canadian Perspective, 5th Edition Test Bank Quizlet Community Health Nursing A Canadian Perspective, 5th Edition Test Bank Stuvia
1. 1
CPU-Scheduling (Galvin)
Outline
FILE CONCEPT
o File Attributes (Name, Identifier, Type, Location, Size, Protection, Time & Date, UserID)
o File Operations
o File Types
o File Structure
o Internal File Structure
ACCESS METHODS
o Sequential Access
o Direct Access
o Other Access Methods
DIRECTORY STRUCTURE
o Storage Structure
o Directory Overview
o Single-Level Directory
o Two-Level Directory
o Tree-Structured Directories
o Acyclic-Graph Directories
o General Graph Directory
FILE-SYSTEMMOUNTING
FILE SHARING
o Multiple Users
o Remote File Systems (The Client-Server Model, Distributed Information Systems, Failure Modes)
o Consistency Semantics (UNIX Semantics, Session Semantics, Immutable-Shared-Files Semantics)
PROTECTION
o Types of Access
o Access Control
o Other Protection Approaches and Issues
Contents
FILE CONCEPT
File Attributes
Different OSes keeptrack ofdifferent file attributes, includingName, Identifier (e.g. inode number), Type (Text, executable, other binary, etc.),
Location (E.g., Hard drive), Size, Protection, Time & Date, User ID. Some systems give special significance to names, and particularlyextensions (.exe,
.txt, etc.), and some donot. Some extensions maybe of significance to the OS (.exe), andothers onlyto certain applications (.jpg).
File Operations
The file ADT supports manycommonoperations:Creating a file, Writing a file, Readinga file, Repositioning withina file, Deletinga file,
Truncatinga file.
Informationabout currentlyopenfiles is storedinan openfile table, containing for example:
2. 2
CPU-Scheduling (Galvin)
o File pointer - records the current position inthe file, for the next reador write access.
o File-open count - How manytimes has the current file beenopened(simultaneouslybydifferent processes)andnot yet closed?
When this counter reacheszerothe file canbe removed from the table.
o Disk location of the file.
o Access rights
Some systems provide support for file locking.
o A shared lock is for readingonly.
o An exclusive lock is for writing as well as reading.
o An advisory lock is informationalonly, andnot enforced. (A "KeepOut"
sign, whichmaybe ignored.)
o A mandatory lock is enforced. (A trulylockeddoor.) UNIXusedadvisory
locks, andWindows uses mandatorylocks.
File Types
Windows (andsome other systems) use specialfile extensions to indicate the type
of each file. Macintoshstores a creator attribute for eachfile, according to the
program that first createdit with the create() system call. Macintoshstores a
creator attribute for eachfile, accordingto the program that first createdit withthe
create()systemcall.
File Structure
Some files containaninternal structure, whichmayor maynot be knownto the OS. For the OS to support particular file formats increasesthe
size andcomplexityof the OS.
UNIXtreats all files as sequences of bytes, withnofurther considerationof the internal structure. (Withthe exceptionof executable binary
programs, whichit must know how to load and findthe first executable statement, etc.)
Macintosh files have two forks - a resource fork, and a datafork. The resource forkcontains informationrelatingto the UI, such as icons and
button images, and canbe modified independentlyof the data fork, which contains the code or data as appropriate.
Internal File Structure
Diskfiles are accessed in units of physical blocks, typically512 bytes or some power-of-twomultiple thereof. (Larger physical disks use larger
block sizes, to keepthe range ofblock numbers withinthe range of a 32-bit integer.)
Internallyfiles are organizedinunits oflogical units, which maybe as small as a single byte, or maybe a larger size corresponding to some
data record or structure size. The number of logical units which fit into one physical block determines its packing, and has animpact on the
amount of internal fragmentation(wasted space) that occurs. As a general rule, half a physicalblockis wastedfor eachfile, andthe larger the
block sizes the more space is lost to internalfragmentation.
ACCESS METHODS
Sequential Access: A sequentialaccessfile emulates magnetic tape
operation, andgenerallysupports a few operations: a)readnext - read a
record andadvance the tape to the next position. b)write next - write a
record andadvance the tape to the next position. c) rewind d) skipn
records - Mayor maynot be supported. N maybe limitedto positive
numbers, or maybe limitedto +/- 1.
Direct Access: Jump to anyrecord andread that record. Operations
supportedinclude: read n - readrecord number n. (Note an argument is
now required.) write n - write recordnumber n. (Note anargument is
now required.) jumpto recordn - couldbe 0 or the endof file. Query
current record - usedto return backto this record later. Sequential
access canbe easilyemulated using direct access. The inverse is
complicatedandinefficient.
Other Access Methods: An indexed access scheme canbe easilybuilt ontop ofa direct access system. Verylarge files mayrequire a multi-
tieredindexingscheme, i.e. indexes of indexes. (Lot of cool and relevant content is there in the book for all chapters)
DIRECTORY STRUCTURE
Storage Structure: A diskcanbe usedinits entiretyfor a file system. Alternativelya physical diskcanbe brokenup into multiple partitions,
slices, or mini-disks, each of which becomes a virtual diskand canhave its own filesystem. (or be usedfor raw storage, swapspace, etc.)Or,
multiple physicaldisks can be combinedintoone volume, i.e. a larger virtual disk, withits own filesystem spanning the physicaldisks.
3. 3
CPU-Scheduling (Galvin)
Directory Overview: Directoryoperations to be supported include: a) Search
for a file, b)Create a file (addto the directory) C) Delete a file (erase fromthe
directory) d) List a directory(possiblyorderedin different ways) e)Rename a file
(maychange sorting order) f) Traverse the file system.
Single-Level Directory: Simple to implement, but each file must have a unique
name.
Two-Level Directory: Each user gets their own directoryspace. File names only
need to be unique within a givenuser's directory. A master file directoryis used
to keep track of each users directory, andmust be maintained when users are
added to or removedfrom the system. A separate directoryis generallyneeded
for system(executable) files.
Systems mayor maynot allowusers to access other directoriesbesides their
own If access to other directories is allowed, thenprovision must be made to
specifythe directorybeing accessed. Ifaccessis denied, thenspecial
consideration must be made for users to run programs locatedin system
directories. A searchpath is the list of directories in whichto searchfor
executable programs, andcan be set uniquelyfor each user.
Tree-Structured Directories: This is an obvious extensionto
the two-tiereddirectorystructure. Eachuser / processhas
the concept of a current directoryfrom whichall (relative)
searches take place. Files maybe accessedusing either
absolute pathnames (relative to the root of the tree) or
relative pathnames(relative to the current directory.)
Directories are storedthe same as anyother file in the
system, except there is a bit that identifies them as
directories, andtheyhave some specialstructure that the
OS understands.
Acyclic-Graph Directories: When the same files needto be accessed in more thanone place inthe directorystructure (e.g. because theyare
being sharedbymore thanone user / process), it can be useful to provide anacyclic-graph structure.
UNIXprovidestwo types of links for implementing the acyclic-graph structure. A hardlink (usuallyjust called a link) involves multiple
directoryentries that bothrefer to the same file. Hardlinks are onlyvalid for ordinaryfilesinthe same filesystem. A symbolic link, that
involves a special file, containing information about where to find the linkedfile. Symbolic links maybe used to link directories and/or filesin
other filesystems, as well as ordinaryfilesinthe current filesystem. Windows onlysupports symbolic links, termedshortcuts.
Hard links require a reference count, or linkcount for each file, keeping track of howmanydirectoryentries are currently referring to this
file. Whenever one of the referencesis removedthe linkcount is reduced, andwhenit reaches zero, the diskspace canbe reclaimed.
General-Graph Directory: If cycles are allowedinthe graphs, thenseveralproblems canarise: Search algorithms cango intoinfinite loops. One
solution is to not followlinks in searchalgorithms. (Or not to followsymbolic links, and to onlyallowsymbolic links to refer to directories.) Sub-
trees can become disconnected from the rest ofthe tree andstill not have their reference counts reducedto zero. Periodic garbage collection
is requiredto detect andresolve this problem. (chkdsk inDOS and fsck in UNIXsearch for these problems, amongothers, eventhough cycles
are not supposedto be allowedineither system. Disconnecteddisk blocks that are not markedas free are added back to the file systems with
made-upfile names, andcan usuallybe safelydeleted.).ReferFigure11.3
4. 4
CPU-Scheduling (Galvin)
FILE SYSTEM MOUNTING
The basic idea behind mounting file systems is to combine multiple file
systems intoone large tree structure. The mount command is given a
filesystem to mount anda mount point (directory) on which to attachit.
Once a file system is mountedontoa mount point, anyfurther references
to that directoryactuallyrefer to the root of the mountedfile system. Any
files (or sub-directories)that hadbeenstored inthe mount point directory
prior to mounting the newfilesystem are nowhiddenbythe mounted
filesystem, and are no longer available. For this reason some systems only
allowmountingontoemptydirectories.
Filesystems canonlybe mountedbyroot, unless root has previously
configured certainfilesystems to be mountable ontocertainpre-
determined mount points. (E.g. root mayallow users to mount floppy
filesystems to /mnt or somethinglike it.) Anyone canrunthe mount
commandto see what filesystems are currentlymounted. Filesystems
maybe mountedread-only, or have other restrictions imposed.
The traditional Windows OS runs anextendedtwo-tier directorystructure, where the first tier of the structure separatesvolumesbydrive letters, and
a tree structure is implemented belowthat level. Macintoshruns a similar system, where eachnew volume that is found is automaticallymountedand
added to the desktop whenit is found. More recent Windows systems allow filesystems to be mountedto anydirectoryinthe filesystem, muchlike
UNIX.
FILE SHARING
Multiple Users: On a multi-user system, more informationneeds to be stored for eachfile: The owner (user)whoowns the file, andwhocan
control its access. The group ofother user IDs that mayhave some specialaccessto the file. What access rights are afforded to the owner
(User), the Group, and to the rest of the world (the universe, a.k.a. Others.) Some systems have more complicatedaccesscontrol, allowing or
denying specific accessesto specificallynamedusers or groups.
Remote File Systems: The advent ofthe Internet introduces issuesfor accessing files storedonremote computers The original methodwas
ftp, allowing individual filesto be transportedacross systems as needed. Ftp can be either account andpassword controlled, or anonymous,
not requiring anyuser name or password. Various forms of distributedfile systems allowremote file systems to be mountedontoa local
directorystructure, andaccessedusing normal file access commands. (The actualfiles are still transportedacrossth e network as needed,
possiblyusing ftpas the underlyingtransport mechanism.)The WWW hasmade it easyonce againto access files onremote systems without
mountingtheir filesystems, generallyusing (anonymous)ftp as the underlying file transport mechanism.
The Client-Server Model: When one computer system remotelymounts a filesystem that is physicallylocated onanother system, the system
which physicallyowns the filesacts as a server, andthe systemwhichmounts them is the client. User IDs and gro upIDs must be consistent
across bothsystems for the systemto work properly. (I.e. this is most applicable across multiple computers managed bythe same
organization, sharedbya common groupof users.) The same computer canbe both a client anda server. (E.g. cross-linkedfile systems.). The
NFS (NetworkFile System) is a classic example of sucha system.
Distributed Information Systems: The DomainName System, DNS, provides for a unique naming system acrossall of the Internet. Domain
names are maintainedbythe Network Information System, NIS. Microsoft's CommonInternet File System, CIFS, establishes a network login
for each user ona networked system withsharedfile access. Older Windows systems useddomains, andnewer systems (XP, 2000), use active
directories. User names must match acrossthe network for thissystemto be valid. A newer approachis the Lightweight Directory-Access
Protocol, LDAP, which providesa secure single sign-onfor all users to accessallresources ona network. Thisis a secure system which is
gaininginpopularity, andwhich has the maintenance advantage of combining authorizationinformationin one central location .
Consistency Semantics: Consistency Semantics dealswith the consistencybetweenthe views of sharedfileson a networkedsystem. When
one user changes the file, when doother users see the changes?
PROTECTION
Files must be kept safe for reliability(against accidental damage), and protection (against deliberate malicious access.) The former is usuallymanaged
with backup copies. This section discusses the latter.
Types of Access: The following low-level operations are oftencontrolled:
o Read - View the contents of the file
o Write - Change the contents ofthe file.
o Execute - Loadthe file onto the CPU and follow the instructions contained therein.
o Append - Add to the endof an existing file.
o Delete - Remove a file from the system.
o List -View the name andother attributes offiles onthe system.
Higher-level operations, suchas copy, cangenerallybe performedthrough combinations ofthe above.
5. 5
CPU-Scheduling (Galvin)
Access Control: One approach is to have complicated Access Control Lists, ACL, which specifyexactlywhat access is allowedor denied for
specific users or groups. The AFS usesthis system for distributedaccess. Control is veryfinelyadjustable, but maybe complicated, particularly
when the specific users involved are unknown. (AFSallows some wildcards, so for example all users on a certainremote system maybe
trusted, or a givenusername maybe trustedwhenaccessing fromanyremote system.)
UNIXuses a set of 9 access control bits, in three groups of three. These correspondto R, W, and Xpermissions for eachof the Owner,
Group, and Others. (See"manchmod" for full details.) The RWXbits control the following privileges for ordinaryfilesanddirectories:
bit Files Directories
R
Read (view) file
contents.
Read directory contents. Required to get a listing of the directory.
W
Write (change)
file contents.
Change directory contents. Required to create or delete files.
X
Execute file
contents as a
program.
Access detailed directory information. Required to get a long listing, or to access any specific
file in the directory. Note that if a user has X but not R permissions on a directory, they can still
access specific files, but only if they already know the name of the file they are trying to access.
In addition there are some special bits that canalsobe
applied:The set user ID (SUID)bit and/or the set group
ID (SGID) bits appliedto executable files temporarily
change the identityof whoever runs the program to
match that ofthe owner / groupof the executable
program. Thisallows users running specific programs
to have access to files (whilerunning that program) to
which theywouldnormallybe unable to access. Setting
of these twobits is usuallyrestricted to root, andmust
be done withcaution, as it introduces a potential
securityleak.
Windows adjusts files access througha simple GUI.
Other Protection Approaches and Issues:
o Older systems which didnot originallyhave multi-user file access permissions (DOS andolder versions of Mac)must now be
retrofittedif theyare to share files ona network.
o Access to a file requires access to all the files along its pathas well. Ina cyclic directorystructure, users mayhave different access to
the same file accessedthroughdifferent paths.
o Sometimesjust the knowledge of the existence ofa file ofa certain name is a security(or privacy) concern. Hence the distinction
betweenthe R andXbits onUNIXdirectories.
AssortedContent
XXX
To be cleared
I
Glossary
ReadLater
Further Reading
S