Operating Systems (saylor.org)

Offered by Saylor.org,
Operating Systems  (saylor.org)

This course will introduce you to modern operating systems. We will focus on UNIX-based operating systems, though we will also learn about alternative operating systems, including Windows.

This course will introduce you to modern operating systems. We will focus on UNIX-based operating systems, though we will also learn about alternative operating systems, including Windows. The course will begin with an overview of the structure of modern operating systems. Over the course of the subsequent units, we will discuss the history of modern computers, analyze in detail each of the major components of an operating system (from processes to threads), and explore more advanced topics in the field, including memory management and file input/output. The class will conclude with a discussion of various system-related security issues.

Upon successful completion of this course, the student will be able to:

  • Explain what an operating system does and how it is used.
  • Identify the various components of a computer system and how they interact with an operating system.
  • Describe the differences between a 32-bit and 64-bit operating system.
  • Explain the different types of operating systems and the major ones in use today.
  • Discuss the importance and use of threads and processes in an operating system.
  • Describe concurrency.
  • Explain the difference between a thread and a process.
  • Discuss context switching and how it is used in an operating system.
  • Describe synchronization.
  • Explain a race condition.
  • Discuss interprocess communication.
  • Describe how semaphores can be used in an operating system.
  • Discuss three of the classic synchronization problems
  • Explain the alternatives to semaphores.
  • Discuss CPU scheduling and its relevance to operating systems.
  • Explain the general goals of CPU scheduling.
  • Describe the differences between pre-emptive and non-preemptive scheduling.
  • Discuss four CPU scheduling algorithms.
  • Explain what deadlock is in relation to operating systems.
  • Discuss deadlock prevention, avoidance, and their differences.
  • Describe deadlock detection and recovery.
  • Explain the memory hierarchy.
  • Discuss how the operating system interacts with memory.
  • Describe how virtual memory works.
  • Discuss three algorithms for dynamic memory allocation.
  • Explain methods of memory access.
  • Describe paging and page replacement algorithms.
  • Describe a file system and its purpose.
  • Discuss various file allocation methods.
  • Explain disk allocation and associated algorithms.
  • Discuss types of security threats.
  • Describe the various types of malware.
  • Explain basic security techniques.
  • Explain basic networking principles.
  • Discuss protocols and how they are used.
  • Explain reference models, particularly TCP/IP and OSI.
Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Programming with Scratch (Coursera) Coursera
The Hong Kong University of Science and Technology - HKUST

Programming with Scratch (Coursera)

Learning coding is not only about understanding the programming language being used, but also developing important computational thinking skills, which are useful for problem solving across many disciplinary areas. In this course, students will learn basic programming skills by creating interactive storybooks, animations, and games with Scratch, which is a block-based visual programming language for anyone new to coding.

Sep 28th 2026
5-12 Weeks
Problem Solving, Python Programming, and Video Games (Coursera) Coursera
University of Alberta

Problem Solving, Python Programming, and Video Games (Coursera)

This course is an introduction to computer science and programming in Python. Important computer science concepts such as problem solving (computational thinking), problem decomposition, algorithms, abstraction, and software quality are emphasized throughout. The Python programming language and video games are used to demonstrate computer science concepts in a concrete and fun manner. However, a learner can take the knowledge and skills from this course and apply them to non-game problems, other programming languages, and other computer science courses.

Sep 21st 2026
5-12 Weeks
International Cyber Conflicts (Coursera) Coursera
The State University of New York

International Cyber Conflicts (Coursera)

By nature, cyber conflicts are an international issue that span across nation-state borders. By the end of the course, you will be able to apply the knowledge gained for analysis and management of international cyber incidents and conflicts including for activities such as development of policy related to cybercrime and cyberwarfare. Management of cyber incidents and conflicts requires an interdisciplinary perspective including an understanding of: 1) characteristics of the cyber threats and conflicts themselves, 2) international efforts to reduce and improve cyber security, and 3) psychological and sociopolitical factors.

Sep 28th 2026
5-12 Weeks
Reviews & Metrics for Software Improvements (Coursera) Coursera
University of Alberta

Reviews & Metrics for Software Improvements (Coursera)

This course covers techniques for monitoring your projects in order to align client needs, project plans, and software production. It focuses on metrics and reviews to track and improve project progress and software quality. What you will learn: apply techniques to measure and visualize project progress, integrate Agile review practices to increase project visibility; reflect on lessons learned in software projects through retrospective exercises; improve project and process quality through ongoing measurement

Sep 28th 2026
4 Weeks
Cryptography I (Coursera) Coursera
Stanford University

Cryptography I (Coursera)

Cryptography is an indispensable tool for protecting information in computer systems. In this course you will learn the inner workings of cryptographic systems and how to correctly use them in real-world applications. The course begins with a detailed discussion of how two parties who have a shared secret key can communicate securely when a powerful adversary eavesdrops and tampers with traffic.

Sep 21st 2026
5-12 Weeks
Operating System Virtualization - Bachelor's (Coursera) Coursera
Illinois Tech

Operating System Virtualization - Bachelor's (Coursera)

Each successful student in this course will become familiar with hypervisors, virtualization terms, infrastructure considerations, and appropriate use cases. While designed to give an overview of today’s Virtualization technologies and methods, students in the course will gain enough practical knowledge to begin deploying various hypervisors and virtual machine environments using current industry standard platforms.

Sep 28th 2026
5-12 Weeks
Embedded Hardware and Operating Systems (Coursera) Coursera
EIT Digital

Embedded Hardware and Operating Systems (Coursera)

This course is intended for the Bachelor and Master's students, who like practical programming and making IoTs applications! In this course we will talk about two components of a cyber physical system, namely hardware and operating systems. After completing this course, you will have the knowledge of both hardware components and operating systems. You are able to plan and use embedded operating systems in resource-constraint devices for Internet-of-Things (cyber physical system) applications.

Sep 21st 2026
4 Weeks