New course
Master Operating Systems and Systems Programming with this comprehensive online course. Learn about threads, memory management, scheduling, filesystems, and networking.
Welcome to "Operating Systems and Systems Programming," an immersive course instructed by . With a total duration of 38 hours and 48 minutes, this course delves into the intricate world of operating systems, offering a comprehensive study that is indispensable for anyone in the field of Information Technology, particularly within the realm of Operational Systems. While there are no reviews yet, the depth and breadth of this course make it a notable addition to your educational journey.
The course begins with an introductory lecture on the fundamental question: "What is an Operating System?" This sets the stage for the entire series, providing a necessary foundation by defining and contextualizing operating systems within modern computing.
Building on this foundation, the second lecture covers the four fundamental concepts of operating systems. This session outlines core principles that underlie all OS functions, ensuring that learners grasp the essential mechanics early on.
The next few lectures introduce critical abstractions including threads and processes, files and I/O, and inter-process communication (IPC) mechanisms like pipes and sockets. These topics are fundamental in understanding how operating systems manage resources and enable software applications to run efficiently.
Concurrency and synchronization are thoroughly examined in multiple lectures, exploring concepts like mutual exclusion, semaphores, atomic instructions, monitors, and reader-writer problems. These sessions are supplemented with additional material to deepen understanding and ensure mastery of these complex topics.
The course also dedicates significant time to scheduling, memory management, and demand paging. From classic scheduling policies and real-time case studies to address translation, virtual memory, caching, and demand paging policies—this section is rigorous and essential for anyone looking to specialize in systems programming.
A comprehensive look at I/O, storage devices, and performance evaluation follows, providing insights into general I/O operations, storage performance, and queuing theory. These lectures pave the way to understanding the nuanced performance aspects and design considerations of modern filesystems.
Deep dives into filesystems cover design principles, case studies, buffering, reliability, and transactions, equipping learners with practical knowledge that extends beyond theoretical concepts.
Distributed systems topics, including networking, TCP/IP, RPC, distributed file systems, and storage, are further explored, highlighting critical components of contemporary distributed computing environments. Optional advanced topics like Key Value Stores, Chord, DataCapsules, and even Quantum Computing are available, showcasing the course's breadth and forward-thinking approach.
Whether you're a student, an IT professional, or a systems programming enthusiast, this course offers a thorough, detailed exploration of operating systems that is sure to enhance your knowledge and skills in this vital area of technology.
Video class: CS162 Lecture 1: What is an Operating System?
1h23m
Exercise: Which of the following statements best describes the role of an operating system in modern computing environments?
Video class: CS162 Lecture 2: Four Fundamental OS Concepts
1h22m
Exercise: What mechanism does an operating system use to ensure that user programs cannot directly perform hardware operations that should only be performed by the system kernel?
Video class: CS162 Lecture 3: Abstractions 1: Threads and Processes
1h27m
Exercise: In the context of operating systems, what is the primary distinction between a thread and a process?
Video class: CS162 Lecture 4: Abstractions 2: Files and I/O
1h28m
Exercise: In the context of system programming, what is the primary purpose of using the `dupe` system call?
Video class: CS162 Lecture 5: Abstractions 3: IPC, Pipes and Sockets
1h26m
Exercise: What is the main purpose of the fork system call in Unix-like operating systems?
Video class: CS162: Lecture 6: Synchronization 1: Concurrency and Mutual Exclusion
1h30m
Exercise: What is the primary reason for using locks in concurrent programming within operating systems?
Video class: CS162: Lecture 6.5: Concurrency and Mutual Exclusion (Supplemental)
0h47m
Exercise: What is the primary purpose of using locks in the context of concurrent programming?
Video class: CS162 Lecture 7: Synchronization 2: Semaphores (Con't), Lock Implementation, Atomic Instructions
1h27m
Exercise: In a multi-threaded environment within an operating system, which of the following synchronization techniques is used to ensure that a thread yields control and is no longer consuming CPU cycles while waiting for a resource to become available?
Video class: CS162 Lecture 8: Synchronization 3: Atomic Instructions (Con't), Monitors, Readers/Writers
1h28m
Exercise: What is one major downside of using busy waiting in synchronization mechanisms?
Video class: CS162 Lecture 9: Synchronization 4: Monitors and Readers/Writers (Con't), Process Structure
1h29m
Exercise: In an operating system, how can a monitor be described in terms of concurrency control?
Video class: CS162 Lecture 10: Scheduling 1: Concepts and Classic Policies
1h28m
Exercise: In the context of CPU scheduling, what is a key advantage of using Round-Robin (RR) scheduling over First-Come, First-Served (FCFS) scheduling?
Video class: CS162 Lecture 11: Scheduling 2: Case Studies, Real Time, and Forward Progress
1h27m
Exercise: What key aspect differentiates real-time scheduling from conventional scheduling in operating systems?
Video class: CS162 Lecture 12: Scheduling 3: Deadlock
1h26m
Exercise: Which of the following is NOT a condition that must be present to potentially cause a deadlock in a system?
Video class: CS162 Lecture 13: Memory 1: Address Translation and Virtual Memory
1h28m
Exercise: What is the main purpose of implementing the Banker's Algorithm in a system's operating system?
Video class: CS162 Lecture 14: Memory 2: Virtual Memory (Con't), Caching and TLBs
1h24m
Exercise: What is a primary advantage of having multiple levels of page tables in virtual memory systems?
Video class: CS162 Lecture 15: Memory 3: Caching and TLBs (Con't), Demand Paging
1h27m
Exercise: In a caching system, what is a major advantage of a two-level page table with a 32-bit address space and 4-byte page table entries?
Video class: CS162 Lecture 16: Memory 4: Demand Paging Policies
1h29m
Exercise: In the context of page replacement algorithms, which of the following statements is true?
Video class: CS162 Lecture 17: Demand Paging (Finished), General I/O, Storage Devices
1h24m
Exercise: In the context of virtual memory and page replacement algorithms, which of the following statements is true about the Clock algorithm?
Video class: CS162 Lecture 18: General I/O (Con't), Storage Devices, Performance
1h27m
Exercise: In the context of storage devices, what is one key difference between 'solid state drives (SSDs)' and 'hard disk drives (HDDs)'?
Video class: CS162 Lecture 19: Filesystems 1: Performance (Con't), Queueing Theory, Filesystem Design
1h28m
Exercise: In queueing theory, what effect does an increase in burstiness of arrivals have on the average queuing time in a system that has constant average arrival rate?
38 hours and 48 minutes of online video course
Exercises to train your knowledge
Certificate of course completion
100% free, from content to certificate
This online course can only be accessed through the Cursa App. Download it using the QR code or the links below:
This online course can only be accessed through the Cursa app. Install it using the links below:
Study for free!
Here you never pay! Not even for the certificate, because everything in the app is 100% free!
Improve your resume!
There are more than 4,000 free courses for you to study anything that interests you!
Free Digital Certificate!
Complete the course and issue your internationally recognized Digital Certificate free of charge.
New course
Thousands of online video courses, audio or text courses.
To test your knowledge during online courses
Generated directly from your cell phone's photo gallery and sent to your email
Download our app via QR Code or the links below::.
+ 6.5 million
students
Free and Valid
Certificate with QR Code
48 thousand free
exercises
4.8/5 rating in
app stores
Free courses in
video, audio and text