Table of Contents
Types of Operating Systems
- Personal Computers
- Mobile Devices
- Servers: Designed for use by remote human users, or programs running on remote devices.
- Embedded Hardware Designed for use by embedded devices like medical equipment.
Operating System Features
- Von Neumann architecture for computer programs
- Instructions for the computer, called opcodes
- Data. Can be stored, processed, and manipulated
- Multiprogramming, allowing multiple programs to be used at once
- The OS switched the processor between different programs, allowing multiple programs to be held at once.
- Supervisor mode (Kernel) and User mode for extra protection.
- Computer can only operate in one mode at a time. Switches between modes
- User mode has limited privileges.
- It can not directly access machine hardware.
- It can’t switch to supervisor mode
- Kernel = system/hardware code, unlimited privileges
- Can access machine hardware
- Can switch between modes.
- Memory Management Units (MMU)
- Hardware devices that splits physical random-access memory (RAM) of the machine into assigned address spaces
- Programs fail if they try to access memory outside of their assigned address spaces
Services Provided By the Kernel (Supervisor Mode)
- Bootstrap (Initialization): Bringing the machine from initial power up state into a normal functioning state
- Device Drivers: Working with hardware-level devices, and isolating the user from those details.
- Storage/Filesystems: Managing bulk storage devices (disks, flash drives, etc.). Organizing storage into directories, files, etc.
- Memory Management: Controlling and allocating physical memory, using virtual memory.
- Scheduling: Controlling virtual processors and currently running processes. Allocating processor resources.
- Security: Determining and enforcing the identity and privileges of different users and programs (User-Mode vs Kernel Mode)