Types of OSs: Single-user systems
multi-tasking, found in laptops and desktops
Mobile device OSs
for small hand-held devices like phones, tablets, e-readers
Mainframe systems
large-scale platforms and enterprise environments
Network server systems
designed for specific purpose like database or web server
Real-time systems
Systems that need to act in real time; ie in pacemakers, cars
Embedded control systems
designed to control a single piece of equipment; ie thermostat
Distributed systems
geared toward allocating process power, programs files, etc to network users
Operating Systems handle:
Disk storage and file management
Device access
Memory management
Input/output
Processor management
Drivers
specific software that controls access to a particular piece of hardware
Application
software written to supplement the commands available to a particular OS
Version
a particular revision of software
Source
the high-level code that is written to produce software
Open-source
source code that can be examined and modified by anyoneClosed source
Closed source
only the owner and their designates can examine and modify
Shell
a program that runs on the OS that allows the user to issue commands
Graphical User Interface (GUI)
a graphical interface for an operating system (i.e. the desktop in Windows)
Network
a group of computers that can communicate with each other
Cooperative multitasking
a method in which the application was responsible for giving up the processor (early versions of Windows worked like this)
Preemptive multitasking
a method in which the processor controls application access to itself
Multithreading
the ability of a single application to have multiple requests of the processor at one time
32-bit operating system, 64-bit OS
OSs that can run on 32-bit and 64-bit processors respectively
x86
group term to refer to operating systems that run on the Intel processor. Original Intel processors were identified with numbers that ended in 86
ARM
an operating system that can run on ARM processors. They use a RISC instruction set
Random Access Memory (RAM)
memory used by the operating system to run applications
Server
Allow for sharing of information and applications by workstation Oss
Workstation
Allow end users to access information on server machines
Mobile
used on mobile devices such as phones and tablets
Cloud-based
OS that is cloud-based. Personal data is stored on the cloud. Chrome OS is an example.
Common OSs
Microsoft Windows
MacOS
Linux: free and open source. Created in 1991 by Linus Torvolds
MS Windows Phone
MS Windows Tablet
Android
iOS
iPadOS
ChromeOS
Operating System Life Cycle
Refers to the time when the OS is introduced to the time in which the OS is no longer supported
End-of-life (EOL)
OS will no longer receive updates
Life cycle terms
Alpha
Beta
Release Candidate
Current
Service Pack
Mainstream support
Extended Support
Minimum System Requirements
Memory
CPU
Architecture
Storage
Prerequisites
Display
Video RAM (VRAM)
Licensing
Ways to install an OS
Optical Disc (CD/DVD)
ISO Mountable
USB Drive
Network Installation
Barebones Computer System
a system that can run only one program at a time with no memory or I/O.
OS provides 3 functions:
Command services
Program services
Hardware services
Multitasking
A logical extension of multiprogramming. The CPU executes multiple processes by switching among them, but the switches occur frequently, providing the user with a fast response time.
Multiprogramming
Allows several jobs to be in memory at the same time, thus ensuring that the CPU always has a job to execute.
Concurrency
Exists when multiple threads are making progress
Bootstrapping
The first program to run on computer power-on which then loads the operating system.
Kernel
The operating system component running on the computer at all times after system boot.
Diskless workstation aka thin client
A term describing systems that have no local storage.
Interactive (aka conversational) system
Describes a type of computing that provides direct communication between the user and the system.
Batch processing
A method for giving commands to a computer in which commands are entered into files, and the files are executed, without any human interaction.
Application Programming Interface (API)
A set of commands, functions, and other tools that can be used by a programmer in developing a program.
Services of an OS (not all are in every OS)
The user interface, command processor, and application program interface
The file management system
The input/output control system
Process control management and interprocess communication
Memory management
Scheduling and dispatching
Secondary storage management
Network management, communication support, and communication interfaces
System protection management and security
Support for system administration.
Tasks of a sysadmin
System configuration and setting group configuration policies
Adding and deleting users
Controlling and modifying user privileges to meet the changing needs of the users
Providing and monitoring appropriate security
Managing, mounting, and unmounting file systems
Managing, maintaining, and upgrading networks
Providing secure and reliable backups
Providing and controlling software, installing new software, and upgrading software as required
Patching and upgrading the operating systems and other system software
Recovering lost data
Tuning the system for optimum availability and performance
Monitoring system performance and recommending system modifications and upgrades when necessary to meet user requirements.
Organization
Ring diagram with kernel in center and user level (or shell) surrounding it
Command interpreter (aka shell)
program that takes and processes user commands.
Types of shells
C-shell, Bourne-Again (aka bash) shell, Korn shell
Linux GUIs
K Desktop Environment (aka KDE), GNOME
System calls
a call from the user level to the kernel level typically for a protected operation such as for memory or process management
Types of system calls
Process control
File management
Device management
Information maintenance
Communications
Protection
Application Programming Interface (API)
set of functions that are available to use a resource (such as a kernel)
Categories of system services
File management
Status information
File modification
Programming-language
Program loading and execution
Communications
Background services
Linkers
link parts of a program together
Loaders
load those parts into memory so the program can be run
DRAM (dynamic random access memory)
The common version of RAM, which features high read and write speeds.
ADRAM
Asynchronous DRAM
FPM DRAM
fast page mode DRAM)
EDO DRAM
extended data out DRAM
BEDO DRAM
burst EDO DRAM
SDRAM
synchronous DRAM
SDR SDRAM
single data rate SDRAM
DDR SDRAM
double data rate SDRAM
DDR2 SDRAM
double data rate, version two, SDRAM
DDR3 SDRAM
double data rate, version three, SDRAM
DDR4 SDRAM
double data rate, version four, SDRAM
DDR5 SDRAM
double data rate, version five, SDRAM
SRAM
static random access memory
ROM
read-only memory
Hard Disk Drive (HDD) System parts
Controller
Hard Disk
Host Bus Adapter
Hard Disk Drive (HDD) parts
Platters
Read/write heads
Tracks
Sectors
Cylinders
Clusters (allocation units)
Solid-State Drives (SSDs) Advantages over HDDs
Faster start-up and read times
Less power consumption and heat produced
Silent operation
Generally more reliable because of a lack of moving parts
Less susceptible to damage from physical shock and heat production
Higher data density per square centimeter
Solid-state hybrid drive (SSHD)
OS sees an SSHD as single drive
Dual-drive storage solution
Implemented and seen by OS as two separate drives
SSD Communication Interfaces
SATA
PCIe
NVMe
SSD Form Factors (describes the shape and size of a device)
mSATA
M.2
Removable storage and media
Flash memory
USB flash drives
SD and other memory cards
Hot-swappable devices: means that you can insert and remove device when system is powered on
Optical Drives (CD/DVD)
A CPU is often viewed as 3 parts
Arithmetic logic unit (ALU)
Control unit (CU)
Interface unit
Word
the length of a command in the system. Typical 32- or 64-bits long (which defines whether the machine is 32- or 64-bits)
Read-only memory (ROM)
used to boot the program
Registers
Memory Address Register (MAR)
Memory Data Register (MDR)
Reliability
The chance that some disk out of a set of N disks will fail is much greater than the chance that a specific single disk will fail.
Redundancy
The solution to the problem of reliability. Stores extra information that is not normally needed but can be used in the event of disk failure to rebuild the lost information.
Mean time between failures (MTBF)
The statistical mean time that a device is expected to work correctly before failing.
bit-level striping
The splitting of data at the bit level, with each bit in a byte or word stored on a separate device.
block-level striping
The splitting of data at the block level, with each block stored on a separate device.
Problems with RAID
Unfortunately, RAID does not always assure that data are available for the operating system and its users.
CPU:
Made of ALU and CU
Fetch-Execute Instruction Cycle
The CPU reads instructions from main memory during the instruction-fetch cycle
Classification of instructions
Data movement (LOAD, STORE, etc)
Arithmetic
Boolean logic
Single operand manipulation
Bit manipulation
Shift and rotate
Program control
Stack
Multiple Data
CPU Architectures
CISC
RISC
CISC - complex instruction set computers
supports array
RISC - reduced instruction set computers
does not support an array
CPU Features and enhancements
Fetch-execute timing issues (clock issues)
Improvements for CPU performance
Pipelining
Scalar and Superscaler processor organization
Out‐of‐Order Processing
Branch Instruction Processing
Memory enhancements
Wide path memory access
Memory interleaving
Cache memory
Virtual Machine Manager (VMM) or Hypervisor
These operating systems are installed and run directly on top of a computer's hardware and are often referred to as “bare metal”
Type 1 or nativ hypervisor
software that interfaces directly with the computer hardware for specialized devices like a car
Type 2 or hosted hypervisor
software that runs as a program on a standard operating system & virtual machine works through an operating system vmware, application on the operating system