Linux History Design Principles Kernel Modules Process Management Scheduling Memory Management File Systems Input and Output Interprocess Communication Network Structure Security
To explore the history of the UNIX operating system from which Linux is derived and the principles which Linux is designed upon To examine the Linux process model and illustrate how Linux schedules processes and provides interprocess communication To look at memory management in Linux To explore how Linux implements file systems and manages I/O devices...
I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations Streams Performance
Explore the structure of an operating system’s I/O subsystem Discuss the principles of I/O hardware and its complexity Provide details of the performance aspects of I/O hardware and software
Incredible variety of I/O devices Common concepts Port Bus (daisy chain or shared direct access) Controller (host adapter) I/O instructions control devices Devices have addresses, used by Direct I/O instructions Memory-mapped I/O...
Motivation Types of Distributed Operating Systems Network Structure Network Topology Communication Structure Communication Protocols Robustness Design Issues An Example: Networking
To provide a high-level overview of distributed systems and the networks that interconnect them To discuss the general structure of distributed operating systems
Overview of Mass Storage Structure Disk Structure Disk Attachment Disk Scheduling Disk Management Swap-Space Management RAID Structure Disk Attachment Stable-Storage Implementation Tertiary Storage Devices Operating System Issues Performance Issues
Describe the physical structure of secondary and tertiary storage devices and the resulting effects on the uses of the devices Explain the performance characteristics of mass-storage devices Discuss operating-system services provided for mass storage, including RAID and HSM
Overview of Mass Storage Structure...
System Characteristics Features of Real-Time Systems Implementing Real-Time Operating Systems Real-Time CPU Scheduling VxWorks 5.x
To explain the timing requirements of real-time systems To distinguish between hard and soft real-time systems To discuss the defining characteristics of real-time systems To describe scheduling algorithms for hard real-time systems
.Overview of Real-Time Systems
A real-time system requires that results be produced within a specified deadline period. An embedded system is a computing device that is part of a larger system (I.e.
What is Multimedia Compression Techniques Requirements of Multimedia Kernels CPU Scheduling Disk Scheduling Network Management An Example: Cineblitz
To identify the characteristics of multimedia data To examine several algorithms used to compress multimedia data To explore the operating system requirements of multimedia data, including CPU and disk scheduling and network management
.What is Multimedia?
Multimedia data includes - audio and video clips (i.e.
First developed in 1969 by Ken Thompson and Dennis Ritchie of the Research Group at Bell Laboratories; incorporated features of other operating systems, especially MULTICS The third version was written in C, which was developed at Bell Labs specifically to support UNIX The most influential of the non-Bell Labs and non-AT&T UNIX development groups — University of California at Berkeley (Berkeley Software Distributions - BSD) 4BSD UNIX resulted from DARPA funding to develop a standard UNIX system for government use Developed for the VAX, 4.
32-bit preemptive multitasking operating system for Intel microprocessors Key goals for the system:
portability security POSIX compliance multiprocessor support extensibility international support compatibility with MS-DOS and MS-Windows applications
Uses a micro-kernel architecture Available in four versions, Professional, Server, Advanced Server, National Server New version – Windows 2003, is now available
Multitasking provides process and memory management services that allow two or more tasks, jobs, or programs to run simultaneously
Within a single program, multithreading allows multiple parts, or threads, to run simultaneously
An operating system’s multiprocessing capability supports a division of labor among all the processing units
Chapter 2: Software & Operating System
What is the software? How is software categorized? What is an operating system ? What does an operating system do?
What’s the software ?
Software is the instructions and associated data, stored in electronic format, that direct the computer to accomplish a task. A computer program is a set of detailed, step-by-step instructions that tells a computer how to solve a problem or carry out a task.
How is software categorized?
Software is categorized as either application software or system software.
File Concept Access Methods Directory Structure File-System Mounting File Sharing Protection
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
File-System Structure File-System Implementation Directory Implementation Allocation Methods Free-Space Management Efficiency and Performance Recovery Log-Structured File Systems NFS Example: WAFL File System
To describe the details of implementing local file systems and directory structures To describe the implementation of remote file systems To discuss block allocation and free-block algorithms and trade-offs
File structure Logical storage unit Collection of related information File system resides on secondary storage (disks) File system organized into...
Goals of Protection Principles of Protection Domain of Protection Access Matrix Implementation of Access Matrix Access Control Revocation of Access Rights Capability-Based Systems Language-Based Protection
Discuss the goals and principles of protection in a modern computer system Explain how protection domains combined with an access matrix are used to specify the resources a process may access Examine capability and language-based protection systems
The Security Problem Program Threats System and Network Threats Cryptography as a Security Tool User Authentication Implementing Security Defenses Firewalling to Protect Systems and Networks Computer-Security Classifications An Example: Windows XP
To discuss security threats and attacks To explain the fundamentals of encryption, authentication, and hashing To examine the uses of cryptography in computing To describe the various countermeasures to security attacks