All About Operating System & Kernel internals - Linux Part 1/2

Andrew Joseph, Linux Enthusiast,Software Programmer,Consultant

Play Speed
  • 0.5x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 2x
38 Videos (2h 10m)
    • Orientation

    • Intro and Learning objectives

    • Operating System Definition

    • Computer System Operations

    • Operating System Structure

    • Operating System Operations

    • Intro and Learning objectives

    • User Interface

    • System Call Handling

    • Operating System Design and Implementation

    • Operating System Structures

    • Intro and Learning objectives

    • Process Concept

    • Process Scheduling

    • Process Management

    • Inter-process Communication

    • Intro and Learning objectives

    • Thread Concept

    • Threads vs. Processes

    • User Threads vs. Kernel Threads

    • Linux’s Threads

    • Intro and Learning objectives

    • CPU Scheduler

    • CPU Scheduling Algorithm’s Goals

    • FCFS

    • SJF

    • Priority Scheduling

    • Round Robin

    • Multilevel Feedback Queue

    • Intro and Learning objectives

    • Critical Section Problem

    • Synchronization Hardware

    • Semaphore

    • Bounded Buffer Problem

    • Intro and Learning objectives

    • Deadlock Concept

    • Deadlock Characterization

    • Methods for Handling Deadlocks


About This Class


What is the course about?

This subject, being it a core of computer science, is divided into two parts(Courses). 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 CPU scheduling, Synchronization and Deadlocks. The class will conclude with a discussion of various system-related security issues. This comprehensive course will give you enough understanding on OS from where you can take yourself to higher level of expertise.

Various exercises are required to do by students. Please remember that this is a serious course on Operating systems. I believe that Subject like OS cannot be learned in few hours. It requires continuous practice and learning. Students may have to put a lot of efforts in order to become expert in this core area of computer science and make the best use of this course.

Second course will discuss about Operating system components and services, Operating system structures, Memory management, Paging, Memory Management in Intel 80386, Virtual Memory, Demand Paging, , Page Fault, Belady’s Anomaly, Stack Replacement Algorithms, Thrashing, File Concept, Directory Structure, File System, Mounting, File Sharing and Protection, Space Allocation Techniques, Disk Structure and Scheduling, Free Space Management

What kind of material is included?

1. This course consists of high quality training content using quality videos with industry oriented hands-on examples.

2. I have tried to include the juice of my 10 years of experience in this course.

3. The focus is on giving real life essential tricks and skills.

4. This course will have sets of objective type quizzes.

5. I suggest students to take this course with pen and paper handy. Note the important points and take part in discussions. I advise students to take the problems after each section.

How long will the course take to complete?

1. This is the first course in the series of two part comprehensive course covering almost all the topics of Operating system.

2. The course is around 2.5 hours in duration. I advise students to cover not more than one lesson/section per day and do not move to the next lesson/section without doing the exercise.

How is the course structured?

1. Lectures, Classroom Discussions and quiz at the end of each chapter.

2. A perfect blend of theory and real world examples.

Why take this course?

1. This is the first course in the series of two part comprehensive course covering almost all the topics of Operating system.

3. This course will tends to replace text books on Operating system ie it will be a complete reference of OS.

4. You will learn about Operating system components and services, Operating system structures, Process concept, Inter-process communication (IPC) and process synchronization, UNIX/Linux IPC tools and associated system calls, Use of FIFOs in a program, Thread models, Schedulers, Dispatcher, Algorithm evaluation, Process synchronization, The Critical Section Problem, The Bakery Algorithm, Deadlock and Starvation, Deadlock handling, Detections and Recovery.

5. For the college going students, this course helps in improving grades in college curriculum and increases the chances at the final Campus Interview.

Visit to get discounts on my courses + additional free resources






Reviews (0)

Andrew Joseph

Linux Enthusiast,Software Programmer,Consultant

As an programming enthusiast, I want to share my knowledge and interests here.
My name is Saurabh Kumar.
I started learning about programming since high school, dived in "Basic" first, which eventually made me major in Electronics and Communications.
After completing the college, in 2005, I started working in the software and system departments at large corporations. Since then I have grown my Linux skills at various levels. Through the years I've worked in many positions as a Linux and system engineer, a programmer, a debugger and a consultant.

I have been working with C, C++ and Linux since 10 years. Its great to work with different Linux distributions and I find them really powerful. You see most of the supercomputers are based on Linux OS.
I find myself an accomplished software engineer specialising in object-oriented approaches. Extensive background in full life-cycle of software development process including requirements gathering, design, coding, testing, debugging and maintenance. My technical skills include:

C, C++
OS: Unix/Linux, Windows
Android Binder IPC

Few years ago, I forwarded myself for a position of training software engineers in a technical training center in my organization. It was there that I came to know about my passion towards teaching computer science subjects. Today I am one of the top technical trainers of my organization. Now, In addition to traditional classroom training and consulting, I am planning to start releasing video tutorial training for aspiring programmers, engineers or students.

I've been lucky enough to teach many people through my career. Some have gone on to become professional system engineers, some are software engineers or coders, and some are networking people. All have said that my teaching style is effective and approachable, so I've tried to capture that here.

I've plans of making some of the courses about programming, operating systems, kernel, device drivers etc. I give all my heart into creation of courses. I always try to explain everything the easiest possible way. I'm sure that my courses will help you in the adventure.

I offer a range of high quality training content using quality videos backed-up with industry oriented hands-on examples. My main emphasis is to teach technology the way it is used in professional world. The focus is on giving real life skills that are essential in today's environment. My courses on Technology includes everything ranging from Programming, Operating Systems, linux kernel, linux device drivers to Android Binder and JavaScript.
It is so great be here and share knowledge with you.

Have fun and learn enough!