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

    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

    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