Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Operating system concepts-1
Rating: 4.2 out of 5(75 ratings)
3,253 students

Operating system concepts-1

Master the basics of Operating Systems, system calls, processes, CPU scheduling from scratch.
Last updated 8/2022
English
English [Auto],

What you'll learn

  • What is an operating system (OS)?
  • Modern OS functionalities.
  • Layered design of computing systems.
  • OS user interface.
  • What is Protection in OS?
  • What are kernel and user modes? Why are they needed?
  • What are system calls? Why are they needed?
  • What are traps?
  • What is an application programming interface (API)?
  • How APIs invoke system calls?
  • How are system calls implemented?
  • How are parameters passed to system calls?
  • Life cycle of program creation
  • Memory footprint of a program.
  • What is a process?
  • What is multiprogramming and multitasking?
  • CPU Scheduler and process scheduling.
  • What are the various states that a process goes through?
  • What is a process control block (PCB)?
  • When do processes relinquish CPU?
  • What is a context switch?
  • CPU scheduling basics and performance metrics.
  • What are CPU-bound and IO-bound processes?
  • When would CPU scheduler run?
  • What is turnaround time and waiting time?
  • FCFS scheduling.
  • Shortest job first (SJF) scheduling.
  • Nonpreemptive priority scheduling.
  • What is starvation?
  • Shortest remaining time first (SRTF) scheduling.
  • Preemptive priority scheduling.
  • Round robin (RR) scheduling.
  • Combining scheduling algorithms.
  • Linux CPU scheduling algorithm.
  • Programs with multiple processes.
  • Creating multiple processes in Linux.
  • Fork system call with illustrative examples.
  • Interprocess communication (IPC).
  • Shared memory for IPC.
  • Message passing for IPC.

Course content

8 sections69 lectures4h 26m total length
  • What is an operating system (OS)?3:46

    An operating system acts as an interface between user applications and hardware, and as software that provides a virtual machine on top of the hardware, simplifying programming and managing resources.

  • OS traditional view, an illusionist, a government.5:02

    Discover how operating systems act as a virtual machine and illusionist, enabling easier programming, multitasking through rapid context switching, and virtual memory to extend ram.

  • OS salient features.5:44

    Discover how operating systems provide services through a file system interface, coordinate memory and CPU sharing with virtual memory, and navigate trade-offs between efficiency and convenience.

  • Computer system structure1:50

    The lecture explains the computer system structure by showing hardware, the operating system, application programs, and users, and how the operating system coordinates access to cpu, ram, and input/output devices.

  • Modern OS functionalities6:05

    Coordinate concurrency across programs, users, and threads on multicore systems. Manage memory, disk interactions, file system organization, and networking to enable efficient IO and distributed processing.

  • OS principles5:05

    Think of the operating system as a juggler that time-slices the cpu to give the illusion of concurrent progress, while protecting processes, fairly sharing resources, and securing inter-process communication.

  • Layered computing systems3:39

    Explore the principles of layered computing systems, where each layer uses services from below and provides services above, enabling independent development and clear interfaces.

  • Layered design exceptions5:29

    Explore the exceptions to layered design and how cross-layer optimization, including hardware accelerators, memory and cache awareness, and compiler techniques, boosts software performance.

  • Performance optimization in computing systems3:42

    Explore techniques to maximize performance by hardware optimization, including custom chips, then, if hardware changes are impossible, handcraft software with the fastest algorithms and expert assembly to beat general-purpose compilers.

  • OS user interface3:16

    Explore the operating system user interface and how it enables running programs, managing files, and accessing I/O devices, while delivering performance, usability, and security.

  • OS interfaces3:30

    Explore the three main operating system interfaces—command line interpreters, graphical user interface, and touchscreens—and their roles with files, programs, IoT devices, utilities, control panels, and a built-in web browser.

  • Quiz 1

Requirements

  • No previous knowledge about operating systems needed. Everything you need to know about the topics will be covered.

Description

Ace operating systems (OS) principles, system calls, OS protection, processes, CPU scheduling, CPU scheduling algorithms, interprocess communication questions in competitive exams, job interviews, and OS course exams.

Do you know: How OS protects itself from the user programs? How does OS protect user programs from each other? Why can user programs not directly access I/O devices? Why do programmers prefer to use APIs over system calls in programs? How is the CPU shared between so many active processes? How does executing processes create new child processes? How do cooperating processes communicate? Learn the explanations to these and many more intriguing questions in this course!


Specifically, the course will cover the following in detail.


  1. What is an operating system (OS)?

  2. Modern OS functionalities.

  3. Layered design of computing systems.

  4. OS user interface.

  5. Protection in OS.

  6. Kernel mode and user mode.

  7. System calls.

  8. Traps.

  9. Application programming interface (API).

  10. How APIs invoke system calls?

  11. System call implementation.

  12. Parameter passing to system calls.

  13. Life cycle of program creation

  14. Memory footprint of a program.

  15. What is a process?

  16. Multiprogramming and multitasking.

  17. CPU Scheduler and process scheduling.

  18. Process states.

  19. Process control block (PCB).

  20. When do processes relinquish CPU?

  21. Context switching.

  22. CPU scheduling basics and performance metrics.

  23. CPU-bound and IO-bound processes.

  24. When would CPU scheduler run?

  25. Turnaround time and waiting time.

  26. FCFS scheduling.

  27. Shortest job first (SJF) scheduling.

  28. Nonpreemptive priority scheduling.

  29. Starvation.

  30. Shortest remaining time first (SRTF) scheduling.

  31. Preemptive priority scheduling.

  32. Round robin (RR) scheduling.

  33. Combining scheduling algorithms.

  34. Linux CPU scheduling algorithm.

  35. Programs with multiple processes.

  36. Creating multiple processes in Linux.

  37. Fork system call with illustrative examples.

  38. Interprocess communication (IPC).

  39. Shared memory for IPC.

  40. Message passing for IPC.

30 day money back guaranteed by Udemy.


Wisdom scholarships. If you are interested in taking one of our courses but cannot purchase it, you can apply for a scholarship to enroll. Learn more about the application process at my website.

Who this course is for:

  • Anyone interested in learning about operating systems in modern computers could benefit from this course.
  • Computer science undergraduate students taking an operating systems course could benefit from the course.
  • You may (optionally) wish to print some of the material.