1/62
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai | Chat |
|---|
No analytics yet
Send a link to your students to track their progress
What are the four components of a computer system
Hardware, Operating System, Application programs, Users
Hardware
provides basic computing resources, like CPU, memory, I/O devices, graphics card, and storage
Operating Systems
A program that acts as a “middle-man” between a user and the computer hardware. Manages hardware resources and provides services to apps
Application programs
Defines how the system resources are used to solve the computing problems of the users (includes, web browsers, office apps, video games, etc basically any app)
Users
Whoever utilizes the computer (people, machines, other computers)
What is the hierarchy of a computer system?
hardware → OS → application programs → users
Goals of an operating system
Execute user program and make solving problem easy
Using the computer hardware in efficient manner
Make the computer system convenient to use
Device Controller
An electronic hardware component (like a chip or circuit board) that acts as a translator and bridge between a computer’s OS and a physical peripheral device like a mouse or keyboard
Resource allocator (OS)
An operating system that mamnges all resources and decides between conflicting request based on effieceint and fair resource use (tradeoff)
Control Program (OS)
AN OS that controls the execution of programs to prevent errors (reliability) and improper use (security) of the computer. It also controls and manages operations of hardware I/O devices
OS kernel
The one program running at all times on the computer
Computer- system organization
one or more CPUs and/or device controllers connected through a common bus providing access to a shared memory
The bootstrap program
Loaded at power-up/startup or reboot. AKA firmware (software stored in a chip that can be updated) that is typically stored in ROM or EPROM. It initializes all aspects of the system from hardware to software, loads OS kernel and starts execution
Interrupts
A signal sent to the CPU by hardware or software that temporaily pauses the currently running program so the operating system can handle an event without continuous polling (constant monitoring).
Interrupt handling
The OS preserves the state of the CPU by storing registers and the program counter
interrupt transfers control to the interrupt service routine through the interrupt vector
Int. arch. must save the addr. of the interrupted instruction
After completing the int. the state and return addr. are restored
Why is disabling interrupts a priviledged instruction?
Because allowing user programs to disable interrupts could prevent the OS from responding to events and regaining control of the CPU
Synchronous I/O
Control returns to the user program (or other OS code) only upon I/O completion and wait instruction idles the CPU until the next interrupt
Asynchronous I/O
Control returns to to user program without waiting for I/O completion
Storage Structure
Main memory
Secondary storage
hard disks
solid-state disks
Main memory
only large storage media that the CPU can access directly (RAM, volatile, byte-addressable, fast, small)
Secondary storage
Extension of main memory that provides large storage capacity (block access, nonvolatile, slow, big)
can be either hard or solid-state disks
Hard Disks
rigid metal or glass platters covered with magnetic recording material. The disk controller determines the logical interaction between the device and the computer
Solid-state disks
faster than hard disks and are nonvolatile
Caching
Stores copies of frequently accessed data so the CPU doesn’t have to retrieve them from slower memory. If the requested data is already in the cache it is called a hit if not it is called a miss and must be retrieved from a lower storage
Registers
Tiny, extremely fast storage locations inside the CPU that hold values the CPU is actively working with. it temporaily holds data, instructions, or memory addresses the processor is actively using
Mulitprocessor systems
AKA parallel systems or tightly coupled systems. Its more than one CPU or processor in close communcation
Advantages of a parallel system
increased throughput
economy of scale
increased reliability
Symmetric multiprocessing (SMP)
Each processor runs an identical copy of the OS
Asymmetric multiprocessing
Each processor is assigned a specfic task; master processor schedules and allocates work to slave processors
Clustered Systems
Multiple systems (nodes) working together usually sharing storage via a storage-area network (SAN), provides a hih-availibilty service which survives failures. Some are high-performance computing (HPC) and application must be written to use parallelization
Asymmetric clustering
has one machiene in hot-standby mode
Symmetric clustering
has mulitple nodes running applications and monitoring each other
Operating system structure
multiprogramming
timesharing (multitasking)
multiprogramming
Multiple programs are loaded into the memory at the same time (jobs) so that the CPU can execute them concurrently. When one program waits for the I/O the OS switches the CPU to another ready program
Timesharing
(AKA multitasking) CPU switches jobs so frequently that users can interact with each job while its running (interactive computing)
Different modes of an OS
Dual-mode
User mode
kernel mode
Dual mode
The safety system in a computer’s processor that let’s it switch between two different levels of software priviledges and protects the OS and hardware by preventing user programs from executing priviledged instructions.
User mode
Restricted running state where regular apps (EX. web browsers, games, etc) execute. The program cannot directly touch the computer’s hardware or crash the whole system. Can only request hardware realted operations through system calls
Kernel mode
A fully privledged running state where the core of the OS lives and runs. SOftware has complete unrestricted access to the hardware, memory, and CPU instructions.
Process
a program in execution, an active entity
What is the OS in connection with the process management responsible for
Creating and deleting both user an system process
suspending and resuming processes
providing mechanisms for process synching
providing mechanisms for process communication
providing mechanisms for deadlock handling
Communation models
Message passing model: info is exchanged through interprocess communication facility provided by OS
Shared memory model: processes use map memory sys. calls to gain access to regions of memory owned by other processes
Memory managment
Determines what is in memory and when optimizing CPU utilization and computer responses to users.
tracks which part of memory are currently being used and by whom
decides which process and data get to move into and out of memory
allocating and deallocating memory space as needed
Direct Memory Access (DMA)
Allows hardware devices to transfer data directly to and from the computers main memory RAM without making the CPU handle every single byte
Cache consistency
In order to maintain consistency data is stored in more than one level, the copy of the specfic data appears in several places (Ex. nagnetic diskm main memory, in the cache, and internal registers)
Cache coherency
Update of a copy of data need to be in all caches where the data resides
I/O subsystem
The part of the OS that mangees communication between computer and it’s I/O devices (Ex. keyboards, disks, printers, etc)
responsible for:
memory management for I/O
Buffering
caching
spooling
general device-driver interface
drivers for specfic hardware devices
Buffering
storing data temporaily while it is being transferred
Spooling
the overlapping of output of one job with input of other jobs
Protection
any mechanism for controlling access of processes or users to resource defined by the OS
Security
Defense of the system against internal and external attacks
Computing Environments
The combination of hardware, software, networks, and services that provide the framework and interface for computer programs to run and users to interact with the system
Distributed computing
A collection of seperate, possibly heterogenous, systems networked together (EX. LAN, WAN, MAN, etc)
Network operating system
provides features between systems across a network

Client-server
Clients processes request services or resources and the server processes fulfill those request by providing data, hardware access, or computation
also uses Computer-server system (provides interface to client to request services) and file-server system (interface for clients to store and retrieve files)

Peer-to-peer
All nodes are considered peers (no distinguishing between clients and servers) and can either act as a client, server, or both
Virutalization
Allows operating systems to run apps in other OSes through Emulation, and dividing a single physical computer into isolated virtual machienes (VMs)

Cloud computing
Delivers computing, storage, even apps as a service across a network or a “cloud”
public cloud (available via internet to anyone willing to pay)
private cloud (ran by a company for the company)
Hybrid cloud (includes both oublic and private cloud components)
Software as a service (SaaS)
one or more apps available via the internet
Platform as a service (PaaS)
Software stack ready for apps use via the internet
Infrastructure as a service (IaaS)
servers or storage available over the internet
Open-source operating systems
OSes made available in an source-code format rather than just binary (closed-source) and was the direct counter to the copy protection and digital rights managment (DRM) movement
Timer
Used to prevent infinite loops therby protecting the CPU