click here to return to the home page, logo image
Inside.Waldenu.Edu>Degree Program Resources>NTU Course Schedule>Current Students - NTU - Course Desc - NCSC- 6101
NCSC-6101 Operating Systems Principles (CS 740)

Contributing Scholar - Jon Weissman, University of Minnesota

 

3 Semester Credit Hours

 

Course Description

 

This course is concerned with the principles and practice of modern Operating Systems (OS). We will study core operating system principles: kernel design, processes and threads, concurrency and synchronization, deadlock, resource management, memory management and virtual memory, I/O and file systems, distributed file systems, protection and security. We will examine the design and implementation of different Operating System features across a wide-variety of systems including UNIX – Linux, Solaris, Windows, and a teaching Operating System called Nachos. We will learn about the inner workings of the Operating System as well as the exposed systems programming interface. Several programming projects will be used to gain hands-on experience with real Operating Systems issues.

 

Prerequisites

 

  • Java and/or C/C++ programming comfort and experience debugging complex programs

  • Knowledge of the basics of computer architecture as covered in, for example, NEEP 2111

  • Some familiarity with UNIX or Windows

  • Some familiarity with systems programming (UNIX or Windows) as covered in NCSC 3101, including topics such as processes and threads, inter-process communications, file systems, memory management, synchronization, and sockets

  • General prerequisite: Students must have the knowledge resulting from completing all coursework in the curriculum for a BS degree in Computer Science from a regionally-accredited institution in the United States or the equivalent from a foreign institution; performance level in this coursework should be equivalent to a cumulative undergraduate GPA of 2.9 or better on 4.0 scale

Course Objectives

 

  • Demystify the inner workings of Operating Systems
  • To gain a firm grounding in the conceptual issues surrounding good OS design
  • To understand the different roles played by the Operating System
  • To understand the tradeoffs involved in the design and implementation of Operating Systems
  • To understand OS abstractions from the "outside" through systems programming interfaces

 

Course Topics

 

The following topics will be covered in the order given.

 

  • Overview
  • Concurrency
  • Processes
  • Memory management
  • I/O and file systems
  • Protection
  • Security
  • Distributed systems
  • Linux
  • OS Design
  • Wrapup

 

Technical Requirements

 

You will need to have access to a UNIX/Linux system as well as access to C++ or Java compilers for this course.  In addition, you will be required to have Windows Media Player to view the lectures. For the standard technical requirements, please go to the link below:

 http://www.waldenu.edu/c/Files/DocsGeneral/Getting_Started_Guide.pdf

 

Textbook

Required: Operating System Concepts with Java, Silberschatz, Galvin, Gagne, Wiley, 7th edition, 2007, ISBN: 0-471-76907-X.

 

Disclaimer: The course syllabus may differ slightly from this. Course descriptions will be provided in your online course. Textbook information is provided only to give more information about the course.  Do Not use this information to purchase a textbook.  Up-to-date information will be provided when you register.



Google Custom Search
Walden University is accredited by The Higher Learning Commission and a member of the North Central Association, www.ncahlc.org; 312-263-0456. © Copyright 2007 Walden University; Telephone: 800-925-3368