Skip to topic | Skip to bottom
Home
Main
Main.OpSysr1.2 - 06 Mar 2007 - 20:42 - Main.novatopic end

Start of topic | Skip to actions

Operating Systems

Overview of operating systems

  • Role and purpose of the operating system
  • History of operating system development
  • Functionality of a typical operating system
  • Mechanisms to support client-server models, hand-held devices
  • Design issues (efficiency, robustness, flexibility, portability, security, compatibility)
  • Influences of security, networking, multimedia, windows

Operating system principles

  • Structuring methods (monolithic, layered, modular, micro-kernel models)
  • Abstractions, processes, and resources
  • Concepts of application program interfaces (APIs)
  • Application needs and the evolution of hardware/software techniques
  • Device organization
  • Interrupts: methods and implementations
  • Concept of user/system state and protection, transition to kernel mode

Concurrency

  • States and state diagrams
  • Structures (ready list, process control blocks, and so forth)
  • Dispatching and context switching
  • The role of interrupts
  • Concurrent execution: advantages and disadvantages
  • The "mutual exclusion" problem and some solutions
  • Deadlock: causes, conditions, prevention
  • Models and mechanisms (semaphores, monitors, condition variables, rendezvous)
  • Producer-consumer problems and synchronization
  • Multiprocessor issues (spin-locks, reentrancy)

Scheduling and dispatch

  • Preemptive and nonpreemptive scheduling
  • Schedulers and policies
  • Processes and threads
  • Deadlines and real-time issues

Memory management

  • Review of physical memory and memory management hardware
  • Overlays, swapping, and partitions
  • Paging and segmentation
  • Placement and replacement policies
  • Working sets and thrashing
  • Caching

Device management

  • Characteristics of serial and parallel devices
  • Abstracting device differences
  • Buffering strategies
  • Direct memory access
  • Recovery from failures

Security and protection

  • Overview of system security
  • Policy/mechanism separation
  • Security methods and devices
  • Protection, access control, and authentication
  • Models of protection
  • Memory protection
  • Encryption
  • Recovery management

File systems

  • Files: data, metadata, operations, organization, buffering, sequential, nonsequential
  • Directories: contents and structure
  • File systems: partitioning, mount/unmount, virtual file systems
  • Standard implementation techniques
  • Memory-mapped files
  • Special-purpose file systems
  • Naming, searching, access, backups
  • Examples: dos, unix, windows, other

Real-time and embedded systems

  • Process and task scheduling
  • Memory/disk management requirements in a real-time environment
  • Failures, risks, and recovery
  • Special concerns in real-time systems

Fault tolerance

  • Fundamental concepts: reliable and available systems
  • Spatial and temporal redundancy
  • Methods used to implement fault tolerance
  • Examples of reliable systems

System performance evaluation

  • Why system performance needs to be evaluated
  • What is to be evaluated
  • Policies for caching, paging, scheduling, memory management, security, and so forth
  • Evaluation models: deterministic, analytic, simulation, or implementation-specific
  • How to collect evaluation data (profiling and tracing mechanisms)

Scripting

  • Scripting and the role of scripting languages
  • Basic system commands
  • Creating scripts, parameter passing
  • Executing a script
  • Influences of scripting on programming

to top

Copyright © 1999-2009 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback