File System: Naming, Structure, Types, Access, Attributes, Operating Memory-mapped. Directories: Hierarchical part names, operations, implementation, shared files, disk space management, file system reliability, file system performance. File security: environment, security flaws, internet worms, security attacks, design principles in security, user authentication. Protection mechanisms: protection domain, Access control lists, capabilities, protection model, covert channels. Input /output : I/O devices, Device controllers, Direct Memory Access, Goals of I/O software, Interrupt handlers, Device drivers, Device Independent I/O software, User-Space I/O software, Disks Hardware, Disk arm scheduling algorithms, error handling, Track-at-a-Time caching, Ram disks, clocks: Clock Hardware, clock software. Terminal: Hardware, Memory-Mapped Terminals, Input software, output software. Case study: UNIX, OS/2, MSDOS and Open systems. A study of concurrency and writing concurrent programs, emphasis will be on language constructs used to express and control concurrency. Concurrent programming techniques an styles. Co-writers, mutual exclusion, semaphones, deadlock, high level concurrency, writer process communication and process structuring, laboratory exercises using a basic concurrent programs.