OS components
Abstraction
Hardware has enormous variety and complexity. An operating system manages hardware and presents a relatively simple set of system calls to allow application programs to interact with hardware and with each other.
Kernel
- execution
- loaded in memory and started by bootloader
- continues running in memory until system shuts down
- runs in protected mode (if available)
- device drivers
- deal with complexities of particular devices and provide common methods of interaction
- often loadable while kernel is running
- process scheduler
- controls access to CPU time
- memory management
- controls access to memory
- virtual memory provides a simplified interface
- I/O management
- controls access to I/O devices
- file systems
- control access to mass storage
- interrupt handlers
- manage asynchronous events
- security
- restricts access to resources
- authentication
- cryptography
- system calls
- provide operating systen services to applications
Libraries
- provide standard functions to application programs
- UNIX includes standard C language functions
- many libraries support other languages
- often shared so one copy in memory can be used by different processes
Shell
- user interface to operating system
- may be character or GUI
- UNIX shells run in user mode
Programming Tools
- shells
- UNIX shells are complete programming languages and needed to start most systems
- other interpreters
- UNIX includes awk for text processing
- most Linux distributions include python, which may be needed by many operating system components
- other interpreters are often included
- compilers
- most of UNIX is written in C language so C development tools are usually included
Utilities
- tools for files, processes, networks, text, configuration, programming, more
- The UNIX specification (POSIX) includes about 150 character utility programs
- UNIX implementations usually provide many more, typically thousands
- many graphic environments provide additional GUI utilities
- some tools could be considered applications but are provided with the operatig system