Topics in OS lectures
Operating Systems
and
Computer Structures G2
Operating Systems
and
Computer Structures G2
Aims
Objectives
Entry Competencies
Assessment
Bibliography
Unit Content
Other matters
What is an Operating System?
O/S Command and Response Languages
Operating System
Course content
Mechanism
Structure
Lecture availability
Course Environment
Unix/C on your PCs
Summary
Lecture 1.2: Unix utilities
Introduction
File System
Navigation
File and directory naming
Basic utilities
Unix utilities
man pages
File name globbing
Command history
Communications
Summary
Common Unix Commands
Introduction
File permissions
Batch and command files
Command line arguments
I/O redirection
Common Unix utilities
Regular expressions
Command Language Programming
Introduction
Command language programming
Shell variables
Command substitution (grave command)
Arithmetic
Sequencing
For loop
Exit codes
While command
Conditional statement
Case statement
Quoting
Miscellaneous examples
Shell Programming
Introduction
Debugging
More on sequencing
Builtin shell variables
Builtin shell commands
Functions
Miscellaneous examples
Configuring the Environment
Configuring the environment
Zsh
Shell
Net news
X Window startup
C - Bottom Up
Introduction
The C language
Structure of C programs
Scalar data types
Expressions
Summary
Confusion about int
or char
C control flow
Introduction
Control flow
Standard library functions
Functions
Summary
Arrays and pointers in C
Introduction
Arrays
Strings
Library functions
Command line arguments
Dynamic memory allocation
Conclusion
Structures in C
Structures
Preprocessor
Multiple files
Make
System doco
File Systems
- Introduction
-
File Systems
-
Structure
-
Types
-
Access
-
File operations
-
Unix low-level file operations
-
Allocation
-
Free list
-
Disk caching
Directories
Structure
Directory operations
Adding files to a directory
Locating a file
Unix API
File protection
Protection matrix
Security
More on DOS, Windows 3.1 and Windows95
Memory Management
- Introduction
-
Memory management within a program
-
Standard C API
-
Implementation
-
Compaction
-
Simple O/S memory management
Virtual Memory
Swapping
Overlays
Segments
Virtual addressing
Paging
Page removal
Page loading
Shared pages
Unix Memory
Windows NT Memory
Windows 95 Memory
Layered model
Client Server Model
C Coding Standard
Preamble
Function declaration
Inline comments
Indentation
Consistency
Processes
Introduction
Concurrent processes
Process Operations
Process creation
Standard C API
Unix API
Process suspension
Process removal
Process environment
Process management
Introduction
Process states
Process table
Process creation
Process scheduling
Unix process startup
Intro to InterProcess Communication
Inter-Process Communication - Unix API
Introduction
Low level I/O
Pipes
Shared memory
A queue using an array
Implementing a pipe using a queue
Why it is wrong
Mutual Exclusion Techniques
Mutual Exclusion
Critical section
Disabling interrupts
Lock
Lock file
Test and set instruction
Spin locks
Semaphores
Non-binary semaphores
Other mechanisms
Deadlock
Deadlock detection
Deadlock prevention
Deadlock avoidance
Networks - user view
Logical view
UC Network
Some services
Higher level services
Distributed Systems
Advantages
Disadvantages
Hardware Topology
Some Concepts
Network Protocols
OSI PROTOCOL
Layered model
Physical layer
Data link layer
Network layer
Transport layer
Session layer
Presentation layer
Application layer
TCP/IP
Another protocol?
TCP/IP stack
Client-Server Model
Internet adddresses
Port addresses
Berkeley sockets
Remote Procedure Call
Data representation
Networking API
Some foreign sites
Byte ordering
Address conversion
Addresses
Sockets
Connection oriented (TCP)
TCP time client
TCP time server
Connectionless (UDP)
Time client (UDP)
Socket controls
Remote Procedure Call
Ordinary procedure call
Parameter types
Remote procedure call
Without RPC
What RPC should look like?
Stubs
Data representation
Valid data types
Generating stubs
Errors
Sun RPC
Time Synchronisation
Distributed time
Logical clocks
Distributed File Systems
File service
File server
Access model
State
Caching
File sharing
File replication
Directory service
NFS
DCE
Device Drivers
Devices
Goals
Abstraction layers
Device driver
Terminal drivers