Git Product home page Git Product logo

cpre308's Introduction

CPRE 308: Operating Systems: Principles and Practice

Course Description

This course is an introduction to the basic principles underlying current operating systems. Operating systems have evolved over a few decades and have led to a few well accepted abstractions. We will study those concepts and how they fit together: the purpose of an operating system, processes and threads, synchronization between multiple processes, process scheduling, deadlocks, the address space concept, virtual memory, file systems, I/O systems, security, and the basics of networking. The corresponding (weekly) labs cover the "practice" portion of the class, where the students are required to write programs which interact with the operating system, and implement simplified versions of some of the OS modules. The labs require a knowledge of the C programming language and a working knowledge of the Linux operating system, which is introduced in the first lab. More detailed course syllabus can be found on Canvas.

Note: If you need special accommodations, please do not hesitate to contact the instructor/TAs. We will evaluate the accommodation request case by case and try to maximize flexibility to help you get through the challenges. In addition, we may adjust the course plan during the semester based on the university guidance and the latest COVID situation. You are expected to monitor your ISU email and Canvas Announcements for course-related updates.

Course Materials

Required textbook: Modern Operating Systems (MOS) by Andrew S. Tanenbaum, 4th/5th Edition

Besides MOS, there are another two recommended textbooks for reference:

Operating Systems Concepts (9th edition), A. Silberschatz, P. Galvin, and G. Gagne, Addison-Wesley.

Operating Systems: Three Easy Pieces (OSTEP) by Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau, which is FREE at http://pages.cs.wisc.edu/~remzi/OSTEP/ Links to an external site. (Links to an external site.)

Links to an external site.

The lecture slides will include selected content from all books above. All slides, assignments, etc. will be posted on Canvas.

cpre308's People

Contributors

jetsama avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.