Operating System Fundamentals, Gaining basic knowledge about operating systems and RTOS.
Course Description
Gaining basic knowledge about operating systems (OS) and RTOS (Real Time Operating System) which is an essential knowledge in both C programming and Embedded systems programming field and in software engineering field in general. Course topics include various technical skills as follows:
Section 1 which includes Intro to OS (Operating System), What is an OS, Why to use an OS, OS (Operating System) main components, Memory management, Storage management, Process management, Protection and security and Abstraction layer for every resource. with the following videos:
Intro to OS (Operating System)
OS Main Components
Section 2 which includes OS Process, What is a process, Scheduling, Scheduling algorithms, Inter-Process Communication, Memory Management. with the following videos:
Process and Scheduling
Scheduling Types
Scheduling Algorithms
Shortest Job Next Scheduling
Priority Based Scheduling
Shortest Remaining Time Scheduling
Round Robin Scheduling
Inter-Process Communication
Synchronization in IPC (Inter-Process Communication)
Deadlock Handling
Memory Management
Section 2 which includes RTOS (Real Time Operating System) Concepts, What is RTOS (Real Time Operating System), RTOS characteristics, Hard and soft real time, Rate monotonic scheduling, Using FreeRTOS. with the following videos:
Intro to RTOS (Real Time Operating System)
Rate Monotonic Scheduling
Intro to FreeRTOS
Using FreeRTOS with AVR
Define OS Tasks
Finalizing Project