Loading
Alison Logo

Diploma in Operating Systems

  • 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.

Diploma in Operating Systems
  • Free

  • 15-20 Hours

  • NPTEL

  • Assessment

  • Certification

  • 250 Pts

Modules List( 19 )
  • Diploma in Operating Systems
  • 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.
    • Learning Outcomes
    • Introduction
    • Introduction to Operating Systems
    • Hardware
    • Lesson Summary
  • 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.
    • Learning Outcomes
    • From Programs to Processes
    • Sharing the CPU
    • Lesson Summary
  • 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.
    • Learning Outcomes
    • Introduction
    • Virtual Memory
    • MMU and Mapping
    • Lesson Summary
  • 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.
    • Learning Outcomes
    • Segmentation
    • xv6 Memory Management
    • PC Booting
    • Lesson Summary
  • Module 5: Diploma in Operating Systems - First Assessment
    • You must score 80% or more to pass this assessment.
    • Diploma in Operating Systems - First Assessment
  • 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.
    • 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
    • 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.
    • Learning Outcomes
    • Interrupts
    • Interrupt Handling
    • Lesson Summary
  • 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.
    • Learning Outcomes
    • Software Interrupts and System Calls
    • CPU Context Switching
    • Lesson Summary
  • 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.
    • Learning Outcomes
    • CPU Scheduling
    • Priority Based Scheduling Algorithms
    • Multi-Processor Scheduling
    • Lesson Summary
  • 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.
    • Learning Outcomes
    • Scheduling in Linux
    • Completely Fair Scheduling
    • Lesson Summary
  • Module 11: Diploma in Operating Systems - Second Assessment
    • You must score 80% or more to pass this assessment.
    • Diploma in Operating Systems - Second Assessment
  • 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.
    • Learning Outcomes
    • Inter Process Communication
    • Synchronization
    • Software Solutions for Critical Sections
    • Lesson Summary
  • 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.
    • Learning Outcomes
    • Bakery Algorithm
    • Hardware Locks
    • Mutexes
    • Semaphores
    • Lesson Summary
  • 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.
    • Learning Outcomes
    • Dining Philosophers Problem
    • Introduction to Deadlocks
    • Dealing with Deadlocks
    • Lesson Summary
  • 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.
    • Learning Outcomes
    • Threads - Part I
    • Threads - Part II
    • Lesson Summary
  • 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.
    • Learning Outcomes
    • Introduction to Security
    • Information Flow Policies
    • Lesson Summary
  • 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.
    • Learning Outcomes
    • Buffer Overflows
    • Preventing Buffer Overflow Attacks
    • Lesson Summary
  • Module 18: Diploma in Operating Systems - Third Assessment
    • You must score 80% or more to pass this assessment.
    • Diploma in Operating Systems - Third Assessment
  • END OF COURSE ASSESSMENT
  • Module 19: Diploma in Operating Systems - Final Assessment
    • You must score 80% or more to pass this assessment.
    • Diploma in Operating Systems - Final Assessment
Reviews and Rate
This course has no reviews yet.