CSCE 351 Operating System Kernels

Fall 2001
TTh 12:30-1:45pm, Avery 108

Instructor: Prof. Steve Goddard

Ferg 215A, 472-9968
Office hours: 2:00-3:30pm TuTh
goddard@cse.unl.edu


Course Information

Syllabus (ps) (pdf)
Summary:
An operating system is an essential part of almost all computer systems. The operating system is the software system that provides the interface between users, their applications, and the underlying hardware. The core of any operating system is the kernel. The purpose of this course is to study the design and implementation of operating system kernels. The following topics will be covered:
  • Introduction to the organization and structure of operating systems.
  • System calls (with hands-on experience using fork, exec, etc.).
  • Introduction to processes and threads.
  • Race conditions and critical sections.
  • Principles of I/O Hardware: I/O devices, device controllers, DMA.
  • Principles of I/O Software: interrupt handlers, device drivers, device-independent I/O software, and user-space I/O software.
  • Study of drivers for block devices that use DMA (e.g., drivers for ram disks and hard disks).
  • Clock hardware and software including clock (timer) management.
  • Terminals: hardware and software including keyboard and display drivers.
  • Overview of memory management and file systems.
Lecture Notes
Assignments
Steve Goddard <goddard@cse.unl.edu>
Last modified: Thu Aug 23 16:32:31 CDT 2001