Course Description
This course provides a fundamental understanding of the functions within any modern operating system. Most users of computers, like Windows 10 or Redhat V8, only deal with the GUI (graphical user interface). This course explores the functions used by those GUIs and provides an understanding of what is really happening. Used either stand-alone to gain a basic understanding of operating system concepts or with a companion textbook, Modern Operating Systems by Andrew S. Tanenbaum, while viewing the course or as a resource for later reference, this course provides a solid foundation that would enhance understanding for other courses, such as USB 2.0 Architecture Part 1, Oracle 12c Real Application Clusters Part 2: Performance Tuning, Administration and Backup, PCI Express (PCIe) Overview, Cloud Computing Foundation, and any programming course. This course is a pre-requisite for the Linux V7 Essentials course.
In This Course You Will Learn:
- Explain the overall objectives and structure of any modern operating system.
- Identify the differences and similarities between operating systems.
- Describe the functions within an operating system and how they work together.
- List what causes many operating system errors and crash conditions.
- Explain how to effectively use the more advanced operating system features to improve productivity.
- Choose which operating system approach best suits individual situations.
Prerequisites
Course attendees should have a general understanding of computer use, including starting and using applications, creating and using files, and a basic exposure to using computers connected to some form of network. Some knowledge of programming, computer hardware and application design will be helpful but is not required. If you do not have this experience, we recommend the following GogoTraining course, C Programming Bootcamp Part 1.
Outline
Module 00: Course Introduction - Fundamentals of Operating Systems
Module 01: Introduction to Operating Systems
- What is an operating system?
- History of Operating Systems
- Types of Operating Systems
Module 02: Operating Systems and Hardware
- Operating Systems Concepts
- Processor and Processor Features
- Processor Pipeline and Execution
- Operating Systems and Processors
- Memory Overview
- I/O Devices Overview
- Operating Systems and Hardware Quiz
Module 03: Operating System Concepts
- Types of Operating Systems
- Services Provided by Operating Systems
- Invoking Operating System Services
- Operating System Concepts Quiz
Module 04: Operating System Structure
- Monolithic Systems
- Layered Systems
- Virtual Machines
- Other Structures
- Operating System Structure Quiz
Module 05: Processes and Threads
- The Process Model
- The Thread Model
- Implementation Techniques
- Trade-offs
- Processes and Threads Quiz
Module 06: Interprocess Communication
- Types of Interprocess Communication
- Operating System Implementations
- Add-on Implementations
- Interprocess Communication Quiz
Module 07: Scheduling
- Introduction to Operating System Scheduling
- Types of Schedulers
- Policy Versus Mechanism
- Thread Scheduling
- Scheduling Quiz
Module 08: Deadlocks
- What are deadlocks?
- Detection and Recovery
- Avoidance
- Prevention
- Other Issues
- Deadlocks Quiz
Module 09: Memory Management
- Basics of Memory Management
- Swapping
- Paging for Memory Management
- Paging for Virtual Memory
- Implementation Issues
- Memory Management Quiz
Module 10: Input/Output
- Principles of I/O Hardware
- Principles of I/O Software
- I/O Software Layers
- Types of I/O Devices
- Power Management
- Input/Output Quiz
Module 11: Files Systems
- File Systems Basics
- Files
- Directories
- Implementation
- Examples
- File Systems Quiz
Module 12: Multimedia Operating Systems
- Introduction to Multimedia Operating Systems
- Multimedia Files
- Multimedia Process Scheduling
- Multimedia File Systems
- Caching
- Disk Scheduling
- Multimedia Operating Systems Quiz
Module 13: Multiple Processor Systems
- Types of Multiple Processors
- Multiple Processor Hardware
- Multiple Processor Operating Systems
- Multiple Processor Scheduling
- Multiple Computers
- Multiple Processor Systems Quiz
Module 14: Operating System Security
- The Security Environment
- Basics of Cryptography
- User Authentication
- Security Attacks
- Protection Mechanisms
- Security Quiz
Module 15: Examples of Operating System Architectures
- Unix and Linux
- Windows
- Others
- Operating System Architectures Quiz
Module 16: Course Summary