inflearn logo

Core Operating System Principles for Aspiring Developers: From Processes to File Systems

Are you curious about how programs run, multiple tasks are processed simultaneously, and data is stored securely? Through 13 lessons, you will systematically learn the core principles of operating systems, including processes and CPU scheduling, memory management, threads and synchronization, and file systems. By connecting concepts you may have previously memorized individually, you can understand how computer systems operate and build a solid foundation of knowledge essential for development.

1 learners are taking this course

Level Basic

Course period Unlimited

Operating System
Operating System
cpu
cpu
Operating System
Operating System
cpu
cpu
Thumbnail

What you will gain after the course

  • You can understand how I/O devices and file systems work and explain the principles for maintaining data consistency when failures occur.

  • You can understand process execution and context switching, and explain the characteristics of different CPU scheduling methods.

  • You can understand how virtual memory and paging work and explain how the operating system manages memory.

  • You can understand why synchronization between threads is necessary and distinguish the roles of locks, condition variables, and semaphores, as well as the conditions under which deadlocks occur.

Learn the core principles of operating systems, from program execution to data storage

How do programs use the CPU, and how do multiple tasks proceed simultaneously? This course is an introduction to operating systems that focuses on virtualization, concurrency, and persistence to help you understand what happens inside a computer. Across 13 lectures, it systematically connects core concepts from processes to file systems.

  • Processes and CPU Scheduling: Understand how programs execute and context switches occur, and learn how the CPU is allocated among multiple tasks.

  • Memory Virtualization and Management: Learn the principles of efficiently using limited physical memory through address spaces, paging, and swapping.

  • Concurrency and synchronization: Learn the roles of threads, locks, condition variables, and semaphores, and understand the problems and deadlocks that can occur during concurrent execution.

  • I/O and file systems: Explore how storage devices and file systems work, and learn the principles for maintaining data consistency even in the event of system failures.

Operating system knowledge forms the foundation for understanding program performance and stability in various fields, including server and backend development and systems programming. This course is suitable for those who want to learn why each function is needed and how it works, going beyond memorizing terminology.

You’ll learn these topics.

1. Processes and Memory Management

  • Learn the principles of allocating resources among multiple programs through process execution, context switching, and CPU scheduling

  • Understand memory virtualization and efficient memory management methods, focusing on address spaces, paging, TLBs, and swapping

2. Synchronization and Data Storage

  • Learn how to control concurrent execution through threads, locks, condition variables, and semaphores, and understand how deadlocks occur

  • Examine the structure of I/O devices and file systems, and understand the principles for maintaining data consistency in the event of system failures.

Notes Before Taking the Course

Practice environment

  • Operating system: An environment capable of viewing video lectures, such as Windows, macOS, or Linux

  • Tools required: A web browser with an internet connection and video playback capability

  • PC specifications: A standard PC or laptop capable of smoothly viewing lecture videos and learning materials

Learning materials

  • Learn primarily through the lecture videos without any separate downloadable materials.

  • It is recommended that you review by organizing the key concepts and examples presented in the videos yourself.

Prerequisites and Notes

  • Prerequisite knowledge: It is helpful to have basic programming knowledge, such as variables, conditionals, loops, and functions. Understanding C pointers and the roles of the CPU, memory, and storage devices will help you understand the course.

  • Recommended study method: We recommend taking the course in order, from process and memory management to synchronization and file systems. Watch it on a PC where diagrams and code are clearly visible, and review difficult concepts repeatedly while organizing your notes.

  • Copyright Notice: Please use the lecture videos and provided learning materials for personal study purposes only. Unauthorized recording, reproduction, distribution, and commercial use are prohibited.

Recommended for
these people

Who is this course right for?

  • Computer science and software engineering students who have memorized operating system concepts but find it difficult to understand how they actually work.

  • Aspiring developers who want to systematically learn how programs execute and how memory is managed after mastering the basics of programming

  • A beginner developer who finds thread synchronization and deadlocks difficult and wants to build a solid foundation in concurrent processing

Need to know before starting?

  • It would be helpful to have a basic understanding of programming concepts such as variables, conditional statements, loops, and functions.

  • Understanding pointers and memory addresses in C helps with learning about processes and memory management.

  • Knowing the basic roles of the CPU, memory, and storage devices makes it easier to understand how operating systems work.

Hello
This is aisw

540

Learners

17

Reviews

4.9

Rating

8

Courses

Pukyong National University Software Convergence Innovation Institute

Curriculum

All

13 lectures ∙ (11hr 37min)

Published: 
Last updated: 

Reviews

Not enough reviews.
Please write a valuable review that helps everyone!

aisw's other courses

Check out other courses by the instructor!

Similar courses

Explore other courses in the same field!

Free