Operating Systems

A Course about Operating Systems

Dilvan de Abreu Moreira

March 1997

Revision History
Revision $Revision: 1.1 $$Date: 2005/03/14 19:06:06 $

Table of Contents

1. Introduction
1. Operating Systems
2. Process
3. Memory Management
2. Unix
1. Goals
2. Memory Management
3. Processes
4. Signals
5. Pipes
6. File System
3. Threads
1. Introduction
2. Lightweight Process
3. Scheduling
4. Synchronization
4. Distribution Programming
1. The Client/Server Model
2. Stream Sockets
3. Datagram Sockets
4. RPC - Remote Procedure Calls
5. Distributed Applications
1. Applications
1.1. Traditional Client/Server applications
1.1.1. Characteristics
1.1.2. Examples
1.2. New Client/Server applications
1.2.1. Characteristics
1.2.2. Examples
1.3. The Client/Server Infrastructure
1.3.1. Graphic View
1.3.2. Client
1.3.3. Middleware
1.3.4. Server
1.4. Client/Server Application Models
1.4.1. Requirements
1.4.2. The models
2. SQL Databases
2.1. SQL
2.1.1. Definition
2.1.2. The relational model of a database
2.2. Stored Procedures
2.2.1. Definition
2.2.2. Applications
2.3. Main points
2.3.1. Good points
2.3.2. Bad Points
3. TP Monitors
3.1. Transaction Processing Monitors
3.1.1. Definition
3.1.2. Monitoring
3.1.3. Transaction model defines
3.2. Large systems
3.2.1. TPs in systems with large number of clients
3.3. Nested Transactions
3.3.1. Main points
3.4. Groupware
3.5. Distributed Objects
3.5.1. ORB - Object Request Broker
3.5.2. CORBA
3.5.3. ORG Interfaces
6. Network Operating Systems
1. Introduction
2. DNS - Domain Name Server
3. NFS - Network File System
4. NIS - Network Information System
5. Electronic Mail
7. Parallel Machines
1. Introduction
2. Mach Kernel
3. Windows 3.1 & Windows 95
4. Windows NT
8. UDF
1. Unit Development Folder
2. Unit Development Folder Guide
9. Exercises
1. List 1
2. List 2
3. Answers 1
4. Answers 2
10. Individual Assignments - Laboratory
1. Trying the SunOS
2. Pipes
3. Threads
4. Threads Synchronization
5. Stream Sockets
6. Datagram Sockets
7. Remote Procedure Calls
11. Group Assignments - Homeworks
1. Message Server
2. Lisp Server
3. SQL Server
4. Chat Server
5. Bus Reservation Server
6. Linux Threads Seminar
7. Mac OS X Seminar

List of Figures

1.1. Computing Layers
1.2. Processes
1.3. Process Model
1.4. Process States
1.5. Process Implementation
1.6. Process Tree
1.7. File System Tree
1.8. Memory Management
2.1. Directory Tree
2.2. Virtual Memory
2.3. Memory Mapping
2.4. Files
2.5. Virtual Memory
2.6. Pipe
2.7. Two Pipes
2.8. Piping Processes
2.9. Two-way Connection
2.10. Ext2 Blocks
2.11. Ext2 Inode
2.12. Ext2 Directories
2.13. VFS - Virtual File System
2.14. Mount Structure
3.1. Multiples Threads
3.2. Solaris LWPs
3.3. Thread Scheduling
3.4. Thread States
4.1. Heterogeneous Network
4.2. Network Layers
4.3. Ports
4.4. Port Numbers
4.5. Stream Sockets - Port Numbers
4.6. Stream Sockets - Multiple Clients
4.7. RPC
4.8. RPC Binding
5.1. Client/Server Infrastructure
5.2. Nested Transactions
5.3. ORB Request
5.4. CORBA Interface
5.5. ORB Interoperation
6.1. Section of The Name Space
6.2. File Sharing
6.3. Mount Example
7.1. MIMD
7.2. Bus System
7.3. Mach Processes
7.4. Mach Virtual Memory
7.5. Meteorological/Agricultural Environmental
7.6. Ports
7.7. Unix Emulation
7.8. Windows 3.1
7.9. Windows 95
7.10. Windows NT

List of Tables

8.1. UDF Cover Page