Operating Systems

  1. Advanced Topics
    1. Virtualization Technology
      1. Virtualization Concepts
        1. Virtual Machine Definition
          1. Virtualization Benefits
            1. Virtualization Challenges
            2. Virtualization Types
              1. Hardware Virtualization
                1. Full Virtualization
                  1. Para-Virtualization
                    1. Hardware-Assisted Virtualization
                    2. Operating System Virtualization
                      1. Container Technology
                        1. OS-Level Isolation
                          1. Resource Sharing
                          2. Application Virtualization
                            1. Application Isolation
                              1. Compatibility Solutions
                                1. Deployment Benefits
                              2. Hypervisor Technology
                                1. Type 1 Hypervisors
                                  1. Bare-Metal Installation
                                    1. Direct Hardware Access
                                      1. Performance Advantages
                                      2. Type 2 Hypervisors
                                        1. Hosted Architecture
                                          1. Host OS Dependency
                                            1. Development Benefits
                                          2. Container vs Virtual Machine
                                            1. Architecture Differences
                                              1. Resource Utilization
                                                1. Performance Comparison
                                                  1. Use Case Analysis
                                                2. Distributed Operating Systems
                                                  1. Distributed System Characteristics
                                                    1. Geographic Distribution
                                                      1. Concurrent Processing
                                                        1. Independent Failure Modes
                                                          1. Heterogeneous Components
                                                          2. Distributed System Advantages
                                                            1. Scalability Benefits
                                                              1. Fault Tolerance
                                                                1. Resource Sharing
                                                                  1. Performance Distribution
                                                                  2. Network Operating Systems
                                                                    1. Network Service Provision
                                                                      1. Distributed File Systems
                                                                        1. Remote Procedure Calls
                                                                          1. Distributed Process Management
                                                                          2. Communication Mechanisms
                                                                            1. Message Passing Systems
                                                                              1. Remote Procedure Calls
                                                                                1. Distributed Shared Memory
                                                                                  1. Group Communication
                                                                                  2. Distributed File Systems
                                                                                    1. File Sharing Models
                                                                                      1. Consistency Models
                                                                                        1. Caching Strategies
                                                                                          1. Replication Mechanisms
                                                                                          2. Distributed Synchronization
                                                                                            1. Clock Synchronization
                                                                                              1. Mutual Exclusion
                                                                                                1. Leader Election
                                                                                                  1. Consensus Algorithms
                                                                                                2. Cloud Computing Integration
                                                                                                  1. Cloud Service Models
                                                                                                    1. Infrastructure as a Service
                                                                                                      1. Virtual Machine Provision
                                                                                                        1. Storage Services
                                                                                                          1. Network Services
                                                                                                          2. Platform as a Service
                                                                                                            1. Development Platforms
                                                                                                              1. Runtime Environments
                                                                                                                1. Middleware Services
                                                                                                                2. Software as a Service
                                                                                                                  1. Application Delivery
                                                                                                                    1. Multi-Tenancy
                                                                                                                      1. Service Management
                                                                                                                    2. Cloud Deployment Models
                                                                                                                      1. Public Cloud
                                                                                                                        1. Shared Infrastructure
                                                                                                                          1. Cost Benefits
                                                                                                                            1. Scalability Advantages
                                                                                                                            2. Private Cloud
                                                                                                                              1. Dedicated Infrastructure
                                                                                                                                1. Security Control
                                                                                                                                  1. Compliance Requirements
                                                                                                                                  2. Hybrid Cloud
                                                                                                                                    1. Mixed Deployment
                                                                                                                                      1. Workload Distribution
                                                                                                                                        1. Integration Challenges
                                                                                                                                      2. Cloud Operating System Features
                                                                                                                                        1. Resource Elasticity
                                                                                                                                          1. Multi-Tenancy Support
                                                                                                                                            1. Service Orchestration
                                                                                                                                              1. Billing Integration
                                                                                                                                            2. Case Studies
                                                                                                                                              1. Linux Operating System
                                                                                                                                                1. Kernel Architecture
                                                                                                                                                  1. Monolithic Kernel Design
                                                                                                                                                    1. Loadable Modules
                                                                                                                                                      1. System Call Interface
                                                                                                                                                      2. Process Management
                                                                                                                                                        1. Process Scheduling
                                                                                                                                                          1. Thread Implementation
                                                                                                                                                            1. Signal Handling
                                                                                                                                                            2. Memory Management
                                                                                                                                                              1. Virtual Memory System
                                                                                                                                                                1. Page Replacement
                                                                                                                                                                  1. Memory Mapping
                                                                                                                                                                  2. File System Support
                                                                                                                                                                    1. VFS Layer
                                                                                                                                                                      1. File System Types
                                                                                                                                                                        1. Journaling Support
                                                                                                                                                                      2. Windows Operating System
                                                                                                                                                                        1. System Architecture
                                                                                                                                                                          1. Layered Design
                                                                                                                                                                            1. Executive Services
                                                                                                                                                                              1. Kernel Components
                                                                                                                                                                              2. Process and Thread Management
                                                                                                                                                                                1. Process Creation
                                                                                                                                                                                  1. Thread Scheduling
                                                                                                                                                                                    1. Synchronization Objects
                                                                                                                                                                                    2. Memory Management
                                                                                                                                                                                      1. Virtual Memory Manager
                                                                                                                                                                                        1. Paging System
                                                                                                                                                                                          1. Memory Protection
                                                                                                                                                                                          2. Security Architecture
                                                                                                                                                                                            1. Access Control Model
                                                                                                                                                                                              1. Security Descriptors
                                                                                                                                                                                                1. Authentication Systems
                                                                                                                                                                                              2. macOS and iOS
                                                                                                                                                                                                1. Darwin Kernel
                                                                                                                                                                                                  1. Mach Microkernel
                                                                                                                                                                                                    1. BSD Layer
                                                                                                                                                                                                      1. I/O Kit Framework
                                                                                                                                                                                                      2. Application Framework
                                                                                                                                                                                                        1. Cocoa Framework
                                                                                                                                                                                                          1. Application Sandboxing
                                                                                                                                                                                                            1. Inter-Application Communication
                                                                                                                                                                                                            2. Security Model
                                                                                                                                                                                                              1. Code Signing
                                                                                                                                                                                                                1. Gatekeeper
                                                                                                                                                                                                                  1. System Integrity Protection
                                                                                                                                                                                                                2. Android Operating System
                                                                                                                                                                                                                  1. Linux Kernel Adaptations
                                                                                                                                                                                                                    1. Power Management
                                                                                                                                                                                                                      1. Low Memory Killer
                                                                                                                                                                                                                        1. Binder IPC
                                                                                                                                                                                                                        2. Application Framework
                                                                                                                                                                                                                          1. Activity Manager
                                                                                                                                                                                                                            1. Package Manager
                                                                                                                                                                                                                              1. Resource Manager
                                                                                                                                                                                                                              2. Security Architecture
                                                                                                                                                                                                                                1. Application Sandboxing
                                                                                                                                                                                                                                  1. Permission System
                                                                                                                                                                                                                                    1. SELinux Integration