Operating System Concepts -- Chapter 1
Private cloud
Cloud run by company for its own use
Memory
Dynamic data storage unit
Central Processing Unit (CPU)
Main Processor
Instruction Register
Used to hold the current instruction that is being executed
Network
a communication path between two or more systems
Systems program
associated with the OS but not part of the kernel
Dual mode operation
hardware support that allows us to differentiate amount various mods of execution (user defined code vs. os code)
User ID
list of usernames
Single-Processor System
systems that have only one main CPU
Effective User ID
user id with extra privileges
User Mode
when the computer is executing on behalf of a user application
byte
8 bits, smallest convenient chunk of storage
Privileged Instruction
A computer instruction that can be executed only by a supervisory program - can only be executed only in kernel mode
Client System
A computer used to access the maestro HUB or LUI components --> connected to a server system/is a branch of it
Operating System
A program that acts as an intermediary between a user of a computer and the computer hardware
Graceful Degradation
Ability to continue providing service proportional to the level of surviving hardware
Public cloud
Available via Internet to anyone willing to pay
Control Program
Controls execution of programs to prevent errors and improper use of the computer
Application Programs
Define the ways in which the system resources are used to solve the problems of the users (word processors, spreadsheets, compilers, and web browsers)
Cloud computing
Delivers computing storage and applications as a service across a network.
Cache Coherency
Makes sure that an update of a value of A in one cache is immediately reflected in all other caches where A resides
Cache Management
Makes sure that the cache size and replacement policy can result in greatly increased performance
Resource Allocator
Manages all resources and decides between conflicting requests for efficient and fair resource use
Minicomputer
Middle range of computing systems, between mainframes and PCs
Blade servers
Multiprocessor, io, and networking boards in the same chassis. Each boots independently and runs it's own OS.
Network operating system
OS that provides features such as file sharing across the network and includes a communication scheme that allows different processes on different computers to exchange messages
Open-Source operating systems
OS's made available in source-code format rather than as compiled binary code
Users
People, machines, other computers
Hardware
Provides basic computing resources (CPU, Memory, I/O)
Von Neumann Architecture
Typical instruction-execution cycle where instructions are fetched from memory and stored in the instruction register
Direct Memory Access (DMA)
When a device controller transfers an entire block of data from its own buffer storage to memory without CPU intervention
Small computer-Systems Interface (SCSI)
a controller that can provide connection to 7 or more devices to move data between peripheral devices and local buffer storage
Server System
a data processing system containing one or more servers providing services in response to a request from another computer
Word
a given computer architectures native storage unit (made up of one or more bytes)
Process
a program loaded into memory and executing
Virtual Memory
a technique that allows the execution of a process that is not completely in memory
Workstation
a work PC
Real-Time operating system
an OS intended for real time applications --> almost always used in embedded systems
Bootstrap program
automatic procedure whereby basic OS is reloaded following a complete shutdown or loss of memory
bit
basic unit of computer storage (0 or 1)
Mode Bit
bit added to the hardware of the computer to indicate the current mode: kernel(0) or user (1). Distinguishes between a task that is executed on behalf of the OS and one is that executed on behalf of the user
Electronic Disk
can be either volatile or nonvolatile, it stores data in large DRAM array
Fault Tolerant
can suffer a failure of any single component and still continue operation
Escalate Privileges
changing privileges to gain extra permissions for an activity
GNU General Public License (GPL)
codifies copylefting and is a common license under which free software is released. Requires that the source code by distributed with any binaries and that any changes made to the source code be released under the same GPL license
Solaris
commercial UNIX-based operating system of Sun Microsystems
Clustered System
composed of two or more individual systems or odes joined together over a LAN or faster interconnect (Infiniband)
Local-Area Network (LAN)
connects computer within a room, a floor or building
Parallelization
consist of dividing a program into separate components that run in parallel on individual computers in the cluster
Job Pool
consists of all processes residing on disk awaiting allocation of main memory
Time Sharing
cpu executes multiple jobs by switching among them, but the switches occur so frequently that the users can interact with each program while its occuring
Input/Output devices
devices that are used to input to a computer (keyboard, mouse) or output (monitor)
Load Balancers
distribute network connections amount a pool of similar servers
Symmetric Multiprocessing (SMP)
each processor performs all tasks within the OS, processors are peers, there are no peers
EEPROM
electrically erasable programable read only memory
Free Software Foundation (FSF)
encourages the free exchange of software source code and the free use of software
GNU/Linux
example of an open-source operating system (produced many UNIX-compatible tools, including compilers, editors, and utilities - never released a kernel)
secondary storage
extension of main memory where large quantities of data can be held permanently
Variable Timer
generally implemented by a fixed-rate clock and counter - from 1 millisecond to 1 second; random amount of time
Group ID
group functionality that can be implemented as a system-wide list of group names
Ease of Use
how convenient it is for a user to use a PC
Resource Utilization
how various hardware and software resources are shared
Job Scheduling
if several jobs are ready to be brought into memory and if there is not enough room for all of them - system must choose among them
CPU Scheduling
if several jobs are ready to run at the same time, the system must choose among them
Handheld system
include personal digital assistants, cell phones, etc
Multiprogramming
increases CPU utilization by organizing jobs (code and data) so that the cpu always has one to execute
Timer interrupt
interrupts the computer after a specified period
resource allocator
job of the operating system, allocates and manages hardware resources
Mainframe
large and powerful data processing system
Volatile storage
loses its contents when power to the device is removed
Closed-Source
made available as compiled binary code
Random Access Memory (RAM)
main memory, called random access memory
Computer Core
multiprocessor chips, can be more efficient than multiple chips with single cores because on-chip communication is faster than between-chip communication
Wide-Area Network (WAN)
network that usually links buildings, cities, or countries
Non-Uniform Memory Access (NUMA)
non uniform memory access, in which some parts of memory take longer to access than other parts
NVRAM
nonvolatile storage which is DRAM with battery backup power
Asymmetric Clustering
one machine is in hot-standby mode while the other is running applications
Multi-processor system
parallel systems that have more than one processor in close communication
Swapping
processes are swapped in and out of main memory to the disk
Temporal Locality
program is likely to access data it has accessed recently (stored locally for quick and recent use)
Spatial Locality
program is likely to access data nearby to what it has accessed recently (stored in data segment elsewhere)
file-server system
provides a file-system interface where clients can create, update, read and delete files
Compute-Server System
provides an interface to which a client can send a request to perform an action --> server executes the action sends back results to the client
Interactive Computer System
provides direct communication between the user and the system
Magnetic Disk
provides storage for both programs and data
Read-only memory (ROM)
read only memory
firmware
same thing as EEPROM
High-Availability Service
service continues even if one or more systems in the cluster fail
Interrupt
signal sent from hardware or software to CPU to transfer execution to some other instructions
Trap
software - generate interrupt caused either by an error (divide by 0 or invalid memory access) or by a specific request from a user program that an operating-system service be performed
BSD Unix
started in 1978 as a derivative of AT&T's unix
Nonvolatile storage
storage that does not lose its contents when power is removed
High-Performance computing
supply significantly greater computational power than a single-processor or even SMP systems because they are capable of running an application concurrently on all computers in the cluster
Kernel
the one program running at all times; the core of the operating system
Response Time
time it takes for the computer to give results
Distributed Lock Manager
to provide shared access to data, system must supply access control and locking to ensure that no conflicting operations occur
Symmetric Mode (in clustering)
two ore more hosts are running applications and monitoring each other
Tertiary Storage
type of computer storage device that typically consists of magnetic tape (HDD, etc. )
Uniform Memory Access (UMA)
uniform memory access, in which access to any RAM from any CPU takes the same amount of time
Kernel Mode
when a user application requests a service from the operation system