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

Introduction to Embedded Systems Software and Development Environments (Coursera) Coursera
University of Colorado Boulder

Introduction to Embedded Systems Software and Development Environments (Coursera)

Welcome to the Introduction to Embedded Systems Software and Development Environments. This course is focused on giving you real world coding experience and hands on project work with ARM based Microcontrollers. You will learn how to implement software configuration management and develop embedded software applications. Course assignments include creating a build system using the GNU Toolchain GCC, using Git version control, and developing software in Linux on a Virtual Machine.

Aug 17th 2026
4 Weeks
Cybersecurity Fundamentals (edX) EdX
Rochester Institute of Technology,RITx

Cybersecurity Fundamentals (edX)

Learn cybersecurity fundamentals, including how to detect threats, protect systems and networks, and anticipate potential cyber attacks. In this introduction to the field of computing security, you will be given an extensive overview of the various branches of computing security. You will learn cybersecurity concepts, issues, and tools that are critical in solving problems in the computing security domain.

Aug 17th 2026
5-12 Weeks
Computer Forensics (edX) EdX
Rochester Institute of Technology,RITx

Computer Forensics (edX)

Learn the process, techniques and tools for performing a digital forensics investigation to obtain data related to computer crimes. Digital forensics involves the investigation of computer-related crimes with the goal of obtaining evidence to be presented in a court of law.

Aug 17th 2026
5-12 Weeks
Core 2: OS, Software, Security and Operational Procedures (Coursera) Coursera
IBM

Core 2: OS, Software, Security and Operational Procedures (Coursera)

Are you interested in becoming a proficient and sought-after IT professional? Are you currently or do you plan to pursue a career in an IT support, network technician, or other IT-related role? This IBM course, designed for individuals with IT Fundamentals knowledge, is part of a series of courses that will help you prepare for the CompTIA Core 2 Certification exam. You will gain a solid foundation in operating systems, IT support best practices and procedures, and the skills necessary to excel in an IT role.

Aug 17th 2026
5-12 Weeks
Hardware Security (Coursera) Coursera
University of Maryland, College Park

Hardware Security (Coursera)

In this course, we will study security and trust from the hardware perspective. Upon completing the course, students will understand the vulnerabilities in current digital system design flow and the physical attacks to these systems. They will learn that security starts from hardware design and be familiar with the tools and skills to build secure and trusted hardware.

Aug 3rd 2026
5-12 Weeks
Algorithms, Part II (Coursera) Coursera
Princeton University

Algorithms, Part II (Coursera)

This course covers the essential information that every serious programmer needs to know about algorithms and data structures, with emphasis on applications and scientific performance analysis of Java implementations. Part I covers elementary data structures, sorting, and searching algorithms. Part II focuses on graph- and string-processing algorithms.

Aug 17th 2026
5-12 Weeks
Capstone: Autonomous Runway Detection for IoT (Coursera) Coursera
EIT Digital

Capstone: Autonomous Runway Detection for IoT (Coursera)

The students will develop a larger system using the learning outcomes from these courses, and the students will evaluate the developed system in a real-world programming environment. This course is a true engineering task in which the student must, not only implement the algorithm code, but also handle the interfaces between many different actors and hardware platforms.

Aug 10th 2026
3 Weeks
Algorithmic Thinking (Part 2) (Coursera) Coursera
Rice University

Algorithmic Thinking (Part 2) (Coursera)

Experienced Computer Scientists analyze and solve computational problems at a level of abstraction that is beyond that of any particular programming language. This two-part class is designed to train students in the mathematical concepts and process of "Algorithmic Thinking", allowing them to build simpler, more efficient solutions to computational problems.

Aug 10th 2026
4 Weeks