Architecture of an operating system
- Operating system goal: unification, separation, logging. OS interfaces: program-oriented, command-oriented, UI. OS architecture: monolith/modular/mixed
- Classical flower-like architecture: kernel, kernel modules; services, utilities, applications. Competency separation.
- Command-oriented interface: utilities and shell. Command input/output/control flows. Assumption of human-readable/writable nature of command data flows. Commandline interface: principle and examples. POSIX shell command-line interface: basic syntax and commandline conventions.
- Utilities as command-line syscall wrappers (files, processes etc.)
- Shell syntax, I/O redirection
- Text processing utilities, regular expressions
- Pre-system boot stages
- POSIX-like system initializing, daemons
- SystemD model of interactive service control
- Application libraries, message bus.
- GUI orchestrating, widgetsets
- Free/Open source Distribution lifecircle: packages, repository, package manager