Loading
Alison Logo

Diploma in Operating Systems Free Course

certifcate icon
  • Description
  • Outcome
  • Certification
  • In this free online course Diploma in Operating Systems you will learn about operating systems (OS) and how they manage computer hardware and software resources and provide common services for computer programs.

    The course begins by introducing you to operating systems, where an OS sits in a computers system, hardware abstraction and resource management. You will learn about processes and system calls, the structure of an OS and how different CPUs work. The course reviews memory management methods such as virtual memory, and how memory functions when booting up a computer system.

    You will be introduced to processes, how they are stored in the computer system, how new processes are created and what happens when they are terminated. You will learn about the different types of interrupts and about programmable interrupt controllers for hardware interrupts. You will learn about system calls and CPU context switching.

    Next, the course covers the two different types of processes for scheduling. You will learn about different scheduling methods for single CPU systems their advantages and disadvantages, about scheduling for multiprocessor systems and about scheduling methods for Linux systems. The course covers how processes communicate and share data with each other, also known as Inter-process communication (IPC). You will learn about different software techniques for IPC and the different ways hardware works with IPC. You will learn about deadlocks and threads in an operating system.

    Finally, you will learn about different security goals for an operating system. The course reviews access control techniques and the components for developing an access control system. You will also learn about information flow policies, leaky states, and the Biba and Bell-LaPadula models.

    This free Alison course will be of great interest to computer science students and computer engineers, and anyone who wants to learn about computer operating systems.

    Perquisites: The learner will need an understanding of C programming and an understanding of computer organisation and architecture.

  • Having completed this course you will be able to:
    - Describe what an Operating System is and its role in a computer system.
    - Explain why hardware has addresses and the types of addresses.
    - Describe how processes work.
    - List the different CPU types a computer can have.
    - Describe the single contiguous model and the partition mode memory management.
    - Discuss virtual memory and how it works in a computer system.
    - Describe segmentation memory management and how it is more logical than virtual memory.
    - Describe the process of a computer booting up to loading the operating system.
    - Explain how a process is stored in memory.
    - Describe how a xv6 system executes and new processes.
    - List the steps in a hardware interrupt.
    - Describe how a software interrupt happens.
    - Describe how a CPU switches between processes.
    - Describe different methods for scheduling processes.
    - Discuss schedulers used in Linux.
    - Describe the different types of inter-process communication.
    - Explain process synchronization and the critical section.
    - Discuss possible solutions for multiple processes accessing the critical section.
    - Explain how the bakery algorithm works.
    - Discuss how hardware can help with the critical section problem.
    - Describe how spinlocks, mutexes and semaphores work.
    - Explain the dining philosopher’s problem.
    - List the conditions for resource deadlock.
    - Define what is meant by paralysation.
    - Explain how threads are used in paralyzation.
    - Distinguish between threads and processes.
    - Distinguish between secrecy, integrity, and availability with regard to security goals.
    - Define what denial of service attacks means.
    - Explain when access control techniques are used.
    - Explain information flow policies.
    - Distinguish between the Biba model and the Bell-LaPadula model.
    - Define the use of buffer overflows.
    - Describe how an attacker could create an exploit code.
    - List some techniques to overcome buffer overflow vulnerability.
    - Explain 'how return to libc' attacks works.

  • All Alison courses are free to study. To successfully complete a course you must score 80% or higher in each course assessments. Upon successful completion of a course, you can choose to make your achievement formal by purchasing an official Alison Diploma, Certificate or PDF.

    Having an official Alison document is a great way to share your success. Plus it’s:

    • Ideal for including in CVs, job applications and portfolios
    • An indication of your ability to learn and achieve high results
    • An incentive to continue to empower yourself through learning
    • A tangible way of supporting the Alison mission to empower people everywhere through education.

Modules List( 19 )
  • Diploma in Operating Systems
  • Module 1: Operating Systems (OS) and Hardware
    • Learning Outcomes
    • Introduction
    • Introduction to Operating Systems
    • Hardware
    • Lesson Summary
  • Module 2: Programs to Processes and CPU
    • Learning Outcomes
    • From Programs to Processes
    • Sharing the CPU
    • Lesson Summary
  • Module 3: Virtual Memory and MMU Mapping
    • Learning Outcomes
    • Introduction
    • Virtual Memory
    • MMU and Mapping
    • Lesson Summary
  • Module 4: Segmentation, Memory Management and Booting
    • Learning Outcomes
    • Segmentation
    • xv6 Memory Management
    • PC Booting
    • Lesson Summary
  • Module 5: Diploma in Operating Systems - First Assessment
    • Diploma in Operating Systems - First Assessment
  • Module 6: Introduction to Processes
    • Learning Outcomes
    • Introduction to Processes
    • Create, Execute and Exit from Processes
    • System Calls for Process Management
    • Lesson Summary
  • Module 7: Handling Interrupts in an Operating System
    • Learning Outcomes
    • Interrupts
    • Interrupt Handling
    • Lesson Summary
  • Module 8: System Calls and CPU Context Switching
    • Learning Outcomes
    • Software Interrupts and System Calls
    • CPU Context Switching
    • Lesson Summary
  • Module 9: CPU, Priority and Multi-Process Scheduling
    • Learning Outcomes
    • CPU Scheduling
    • Priority Based Scheduling Algorithms
    • Multi-Processor Scheduling
    • Lesson Summary
  • Module 10: Linux and Fair Scheduling
    • Learning Outcomes
    • Scheduling in Linux
    • Completely Fair Scheduling
    • Lesson Summary
  • Module 11: Diploma in Operating Systems - Second Assessment
    • Diploma in Operating Systems - Second Assessment
  • Module 12: Communication, Synchronization and Software Solutions
    • Learning Outcomes
    • Inter Process Communication
    • Synchronization
    • Software Solutions for Critical Sections
    • Lesson Summary
  • Module 13: Bakery Algorithm, Hardware Locks, Mutexes and Semaphore
    • Learning Outcomes
    • Bakery Algorithm
    • Hardware Locks
    • Mutexes
    • Semaphores
    • Lesson Summary
  • Module 14: Understanding Deadlocks
    • Learning Outcomes
    • Dining Philosophers Problem
    • Introduction to Deadlocks
    • Dealing with Deadlocks
    • Lesson Summary
  • Module 15: Understanding Threads
    • Learning Outcomes
    • Threads - Part I
    • Threads - Part II
    • Lesson Summary
  • Module 16: Security Goals for an Operating System
    • Learning Outcomes
    • Introduction to Security
    • Information Flow Policies
    • Lesson Summary
  • Module 17: Stacks and Buffer Overflows
    • Learning Outcomes
    • Buffer Overflows
    • Preventing Buffer Overflow Attacks
    • Lesson Summary
  • Module 18: Diploma in Operating Systems - Third Assessment
    • Diploma in Operating Systems - Third Assessment
  • END OF COURSE ASSESSMENT
  • Module 19: Diploma in Operating Systems - Final Assessment
    • Diploma in Operating Systems - Final Assessment
Topics List ( 5 )
Module 1: Operating Systems (OS) and Hardware
In this module you will be introduced to Operating Systems (OS). You will learn about where an OS occurs in the layers of a computer system. You will learn about Resource management and Hardware Abstraction. You will learn about different operating system types. You will learn about hardware addresses and the three types of addresses you can use.
Topics List ( 4 )
Module 2: Programs to Processes and CPU
In this module you will be introduced to processes and system calls. You will learn about an Operating Systems Structure and the modules of the structure. You will learn about the CPU and how it probably the most critical resource in the computer system. You will learn about the Central Processing Unit (CPU) and how the CPU is shared between different applications. You will learn about multiprogramming and multitasking and how these methods work differently to sharing a single CPU.
Topics List ( 5 )
Module 3: Virtual Memory and MMU Mapping
In this module you will be introduced to memory management in a computer system. You will learn about the single contiguous model and the partition model for memory management. You will learn about virtual memory and how the virtual address is mapped to a physical one.
Topics List ( 5 )
Module 4: Segmentation, Memory Management and Booting
In this module you will be introduced to segmentation and how segmentation is more logical in dividing up a process compared to virtual memory. You will learn how segmentation maps to physical addresses. You will learn about the structure of the xv6 operating systems memory and about the booting process when a computer system is powered on.
Topics List ( 1 )
Module 5: Diploma in Operating Systems - First Assessment
You must score 80% or more to pass this assessment.
Topics List ( 5 )
Module 6: Introduction to Processes
In this module you will be introduced to processes in a computer system. You will learn what a process is and how a process in stored in RAM. You will learn about the metadata the kernel keeps about each process. You will learn what the metadata the kernel keeps contains and does for your process. You will learn about how the operating system creates a process.
Topics List ( 4 )
Module 7: Handling Interrupts in an Operating System
In this module you will learn about interrupts in an operating system, the different types of interrupts and how a system handles a hardware interrupt.
Topics List ( 4 )
Module 8: System Calls and CPU Context Switching
In this module you will be introduced to software interrupts, and how they are used for implementing system calls. You will learn about how system calls work and about some of the different types of system calls you can use.
Topics List ( 5 )
Module 9: CPU, Priority and Multi-Process Scheduling
In this module you will be introduced to process scheduling. You will learn about the two type or classifications for processes. You will learn about first come first serve scheduling and its advantages and disadvantages. You will learn about more scheduling techniques such as Shortest job first and Round Robin scheduling and what they involve. You will learn about priority based scheduling and about setting priorities for your processes. You will learn about techniques for Multi-processor scheduling and how they work.
Topics List ( 4 )
Module 10: Linux and Fair Scheduling
In this module you will learn about scheduling in a Linux operating system. You will learn about how Linux classifies processes into real time and normal processes. You will learn about the different schedulers Linux has used in their systems and how they work. You will learn about Completely fair scheduling (CFS) the main scheduler used in Linux currently. You will learn about how the CFS works and selects processes for running.
Topics List ( 1 )
Module 11: Diploma in Operating Systems - Second Assessment
You must score 80% or more to pass this assessment.
Topics List ( 5 )
Module 12: Communication, Synchronization and Software Solutions
In this module you will be introduced to Inter Process Communication (IPC) for processes communicating and sharing data with each other. You will learn about the main ways for processes to share data and communicated with each other. You will learn about Process synchronizations and the Critical section. You will learn about accessing the critical section using interrupts and building you won solution.
Topics List ( 6 )
Module 13: Bakery Algorithm, Hardware Locks, Mutexes and Semaphore
In this module you will learn about the bakery algorithm another method for accessing the critical section. You will learn about how hardware can help with accessing the critical section. You will learn about the Test & set Instruction, how Intel doesn’t support it and has its own xchg instruction. You will learn about Spinlocks, Mutexes and Semaphores and how they help with accessing the critical section.
Topics List ( 5 )
Module 14: Understanding Deadlocks
In this module you will gain extensive knowledge on deadlocks and be able to describe the four conditions necessary for a deadlock to occur. This module will also explain how deadlocks are detected.
Topics List ( 4 )
Module 15: Understanding Threads
In this module you will learn about the role of paralyzation in operating systems and how threads are used in paralyzation. This module will also inform you on how to distinguish between threads and processes and describes how threads can be created and destroyed.
Topics List ( 4 )
Module 16: Security Goals for an Operating System
In this module you will learn about different security goals for an operating system. You will learn about access control techniques and the components for developing an access control system. You will also learn about information flow policies, leaky states, and the Biba and Bell-LaPadula models.
Topics List ( 4 )
Module 17: Stacks and Buffer Overflows
In this module you will learn about stacks and buffer overflows. You will become knowledgeable on how to use buffer overflows and techniques to overcome buffer overflow vulnerability. You will also learn about various aspects of libc.
Topics List ( 1 )
Module 18: Diploma in Operating Systems - Third Assessment
You must score 80% or more to pass this assessment.
Topics List ( 1 )
Module 19: Diploma in Operating Systems - Final Assessment
You must score 80% or more to pass this assessment.
Course Features
  • Duration

    15-20 Hours

  • Publisher

    NPTEL

  • Video

    Yes

  • Audio

    Yes

  • Assessment

    Yes

  • Certification

    Yes

  • Price

    Free

  • Reward

    250 Pts

  • Responsive

    No

Reviews and Rate
This course has no reviews yet.
Tags