Operating System Concepts Chapter 1&2
User Interface
(OS, Operating-System Structures, Operating-System Services, pg. 56) A feature of all operating systems that one can use to enter commands to be executed.
I/O Operations
(OS, Operating-System Structures, Operating-System Services, pg. 56) These are operations that may require particular devices that perform specific functions. These devices can't be controlled directly without an operating system.
File System Manipulation
(OS, Operating-System Structures, Operating-System Services, pg. 56) This involves management of files and file directories. Files can be created, deleted, and searched due to _____
GUI (Graphical User Interface)
(OS, Operating-System Structures, Operating-System Services, pg. 56) This is an interface that is a window system with a pointing device to direct I/0, choose from menus, and make selections and a keyboard to enter text
Command Line Interface
(OS, Operating-System Structures, Operating-System Services, pg. 56) This is an interface that uses text commands and a manual entering method (such as typing on a keyboard.
Resource Allocation
(OS, Operating-System Structures, Operating-System Services, pg. 57) This is a job of the operating system. When multiple tasks are occurring simultaneously _____ allows for computer resources to be used effectively and for the correct tasks.
Message Passing
(OS, Operating-System Structures, Operating-System Services, pg. 57) This is then packets of information in predefined formats are moved between processes by the operating system.
Shared Memory
(OS, Operating-System Structures, Operating-System Services, pg. 57) This is when two or more processes read and write to a shared section of memory.
Command Interpreter
(OS, Operating-System Structures, User and Operating-System Interface, pg. 58) One of many ways to interface with the operating system. This method allows users to directly enter commands to be performed by the operating system.
Shells
(OS, Operating-System Structures, User and Operating-System Interface, pg. 58) Some operating systems have multiple command interpreters to choose from, these common interpreters are known by this term. These interpreters are also available as third party or user wirtten interpreters.
Icon
(OS, Operating-System Structures, User and Operating-System Interface, pg. 59) images on the screen (desktop) that represent programs, files, directories, and system functions
Desktop
(OS, Operating-System Structures, User and Operating-System Interface, pg. 59) user employed mouse-based window and menu system
System Administrators
(OS, Operating-System Structures, User and Operating-System Interface, pg.61) These are the people who manage copmuters
Shell Scripts
(OS, Operating-System Structures, User and Operating-System Interface, pg.61) computer programs designed to be run by the Unix Shell and/or Linux Shell
Power Users
(OS, Operating-System Structures, User and Operating-System Interface, pg.61) people who have deep knowledge of a system, and frequently use the command-line interface, because it gives faster access to activites they need to perform
time slicing
At each system interrupt, OS regained control and could assign processor to another user. This technique is known as _____. Thus, at regular time intervals, the current user would be preempted and another user loaded in.
batch processing
Both _____ and time sharing use multiprogramming. The key differences are listed in Table 2.3
Scheduling
Consisted of a sign-up sheet to reserve time to use the system. This resulted in wasted time because users might schedule too much or too little time.
Operating System Objectives
Convenience - Provide a user/computer interface Efficiency - Act as a resource manager for the system Ability to evolve - adaptable to new features, updates and changes.
Concurrency Control
Helps ensure correct operation and detection such as a deadlock
Process Isolation
Helps to prevent a fault in one application from affecting another
Spatial Redundancy
Multiple components for failover
OS History in the 1940's - 50's
No operating system, users and applications interacted directly with the hardware
serial processing
No operating system. Programmers interacted directly with the computer hardware. Computers ran from a console with display lights, toggle switches, some form of input device and a printer. If an error occurred, the hapless user typically had to go back to the beginning of the setup sequence. Thus, a considerable amount of time was spent just setting up the program to run. This mode of operation could be termed _____, reflecting the fact that users have access to the computer in series.
Efficiency of the OS
OS is in control of the system, but the OS itself is just another program, so it must relinquish control of the processor to an application and depends on the processor to regain control.
Multithreading
One or more threads plus associated system resources. Thread is a dispatchable unit of work and process can have many threads of execution where each thread belongs to the process and shares its resources. Useful for parallel independent tasks
Privileged instructions
Only the monitor can do certain things like I/O commands the user application has to ask the monitor to do it
Memory Protection (Batch)
Prevented override of the monitor
Timer (Batch)
Prevents a job from monopolizing the system.
CTSS Design Specifics
Primitive Implementation, Clock interrupt occurred every 0.2 seconds and the OS could decide to give control to another user. The preempted users' program would be written to disk before reading the next users' program in. To minimize disk I/O, memory was only written out where the incoming program would overlay. If the new program did not fully overlay the previous program then a portion might still be present when it was time to reload
OS Major Achievements
Processes, Memory management, information protection and security, scheduling and resource management
Batch System
Processor time alternates between the execution of user programs and execution of the monitor. Sacrifices: * Some main memory is now given over to the monitor * Some processor time is consumed by the monitor Despite overhead, the simple _____ improves utilization of the computer.
What types of services could the OS provide
Program development, Program Execution, I/O Device Access, File Access, System Access, Error Detection, Accounting
Checkpoints and rollbacks
Saves state so that it is recoverable in the event of an error
2 Major Problems with no OS are:
Scheduling and Setup time
Image of application hierarchy
See Screenshot image 1
job control language
Special type of programming language used to provide instructions to the monitor. Such as, "What compiler to use?" and "What data to use?".
memory management
The _____ hardware in the processor and the OS jointly control the allocation of main memory, as we shall see.
execution context
The _____, or process state, is the internal data by which the OS is able to supervise and control the process. * This internal information is separated from the process because the OS has information not permitted to the process. * Include information such as priority of the process and whether the process is waiting for the completion of a particular I/O event
process state
The execution context, or _____, is the internal data by which the OS is able to supervise and control the process. This internal information is separated from the process because the OS has information not permitted to the process.
Microkernel Architecture
The kernel is the core piece, or nucleus of the OS. It contains the most frequently used functions. Main memory contains the OS kernel and any other OS routines currently in use as well as programs and their data. Older designed were monolithic means all in one piece. Microkernel provides OS services as modules that are loaded like other processes. So simplified implementation.
resident monitor
The monitor controls the sequence of events. For this to be so, much of the monitor must always be in main memory and available for execution. That portion is referred to as the _____.
kernel mode
The monitor executes in a system mode, or what has come to be called _____, in which privileged instructions may be executed and in which protected areas of memory may be accessed.
1950's-60's (Batch Operating System)
The monitor increases efficiency by scheduling each job in turn automatically, and by reducing the setup time through a JCL, which specifies setup steps for the monitor. The operator batches jobs together and submits them for execution by the monitor. The user no longer has direct access to the machine.
real address
The paging system provides for a dynamic mapping between the virtual address used in the program and a _____, or physical address, in main memory.
physical address
The paging system provides for dynamic mapping between the virtual address used in the program and a real address, or _____ in main memory.
uniprogramming
The processor spends a certain amount of time executing until it reaches an I/O instruction; it must then wait until that I/O instruction concludes before proceeding.
round-robin
The short-term queue consists of processes that are in main memory ( or at least an essential minimum portion of each is in main memory) and are ready to run as the processor is made available. Any one of these processes could use the processor next. It is up to the short-term scheduler, or dispatcher, to pick one. A common strategy is to give each process in the queue some time in turn; this is referred to as the _____ technique. In effect, the _____ technique employs a circular queue.
Multiprogrammed Batch Systems
This allows for the running of multiple programs at once. Specifically the one program can run when the other program is waiting on I/O
Batch Interface
This is an interface in which commands and directives to control those commands are entered into files, and those files are executed.
Layered Approach
(OS, Operating-System Structures, Operating-System Structure, pg.79) A method in which the OS is broken into a number of layers (levels) in an attempt to make the system modular.
Mach
(OS, Operating-System Structures, Operating-System Structure, pg.79) An OS that was developed by researchers at Carnegie Mellon University that modularized the kernel using the microkernel approach.
Microkernel Approach
(OS, Operating-System Structures, Operating-System Structure, pg.81) A method that structures the OS by removing all nonessential components from the kernel and implementing them as system and user-level programs.
Loadable Kernel Modules
(OS, Operating-System Structures, Operating-System Structure, pg.81) The best current methodology for OS designs involves using _____ _______ ______
Core Services
(OS, Operating-System Structures, Operating-System Structure, pg.84) A layer that provides a variety of features that include support for cloud computing and databases is known as ____ ________
Kernel Extensions
(OS, Operating-System Structures, Operating-System Structure, pg.84) These are modules that are dynamically loadable and which the Mac OS X refers to.
Booting
(OS, Operating-System Structures, System Boot, pg.92) This is the procedure of starting a computer by loading the kernel.
Module Exit Point
(OS, Operating-System Structures, System Boot, pg.97) This is the function that is called when the module is removed from the kernel.
Module Entry Point
(OS, Operating-System Structures, System Boot, pg.97) This represents the function that is invoked when loaded into the kernel
System Call Interface
(OS, Operating-System Structures, System Calls, pg.64) serves as the link to system calls made available by the operating system
Stack
(OS, Operating-System Structures, System Calls, pg.65) abstract data type serving as collection
Pushed
(OS, Operating-System Structures, System Calls, pg.65) adds element to collection
Popped
(OS, Operating-System Structures, System Calls, pg.65) removes most recently added element not yet removed
System Programs or System Utilites
(OS, Operating-System Structures, System Programs , pg.73) They both provide a convenient environment for program development and execution.
Services, Subsystems, or Daemons
(OS, Operating-System Structures, System Programs, pg.73) These are system-program processes that are constantly running.
Registry
(OS, Operating-System Structures, System Programs, pg.73) This is supported by some systems and is used to store and retrieve configuration information.
Information Maintenance
(OS, Operating-System Structures, Types of System Calls, pg.66) A system call that can access and manipulate information on the computer system, such as info pertaining to date, time, and device or file attributes.
Device Manipulation
(OS, Operating-System Structures, Types of System Calls, pg.66) A system call that controls and manages the device.
Process Control
(OS, Operating-System Structures, Types of System Calls, pg.66) A system call that controls the execution of a process. This can end, abort, load, execute, create a process, terminate a process, wait for an event, and allocate memory for a process.
File Manipulation
(OS, Operating-System Structures, Types of System Calls, pg.66) A system call that manages files. It can create, delete, modify, read, write, and reposition files.
Single Step
(OS, Operating-System Structures, Types of System Calls, pg.69) a trap is executed by the CPU after every instruction
Lock
(OS, Operating-System Structures, Types of System Calls, pg.69) ensures the integrity of data being shared between two or more processes
Host Name
(OS, Operating-System Structures, Types of System Calls, pg.72) a label a computer is given by which it is commonly known by
Message Passing Model
(OS, Operating-System Structures, Types of System Calls, pg.72) communicating processes exchanging messages with one another to transfer information
Process Name
(OS, Operating-System Structures, Types of System Calls, pg.73) name translated into an identifier by which an operating system can refer to the process
Shared Memory Model
(OS, Operating-System Structures, Types of System Calls, pg.73) processes use system calls to create and gain access to regions of memory owned by other processes
Client
(OS, Operating-System Structures, Types of System Calls, pg.73) source of communication
Daemons
(OS, Operating-System Structures, Types of System Calls, pg.73) system programs that will be receiving connections
Server
(OS, Operating-System Structures, Types of System Calls, pg.73) will be receiving daemons
Enabling Control Blocks
(OS,Operating-System Structures, Operating-System Debugging pg.90) Also known as ECBs, this is an action that's performed when probes fire.
DTrace
(OS,Operating-System Structures, Operating-System Debugging, pg.87) A facility where probes are dynamically added to a running system, both in user processes and in the kernel.
Windows Task Manager
(OS,Operating-System Structures, Operating-System Debugging, pg.87) This is a Windows system tool that includes information for current applications as well as processes, CPU and memory usage, and networking statistics.
Bootstrap Program or Bootstrap Loader
(OS,Operating-System Structures, System Boot, pg.92) The program or loader locates the kernel, loads it into the main memory, and then starts it execution.
Boot Disk or System Disk
(OS,Operating-System Structures, System Boot, pg.93) Any disk that has a boot partition are known as these.
Running
(OS,Operating-System Structures, System Boot, pg.93) Once the full bootstrap program has been loaded, it can transverse the file system to find the OS kernel, load it into memory, and start its execution. It is thrn said that it is running
GRUB
(OS,Operating-System Structures, System Boot, pg.93) This is an example of open-source bootstrap program for Linux systems.
--
--
byte
8 bits, smallest convenient chunk of storage
Communication
A system call that can manipulate communications by sending, receiving, deleting and creating connections and messages.
user mode
A user program executes in _____, in which certain areas of memory are protected from the user's use and in which certain instructions may not be executed.
multiprogramming
Also known as multitasking. Memory is expanded to hold three, four, or more programs and switch among all of them.
Application Programming Interface (API)
Specifies a set of functions that are available to an application developer, including the parameters that are passed to each function and the return values the programmer can expect
Protection
Any mechanism for controlling access of processes or users to resources defined by the operating system
Device-Status Table
Contains entry for each I/O device indicating its type, address, and state
Interrupt Vector
Contains the addresses of all the service routines. How interrupt transfers control the interrupt service routine
System access
Controlled by the OS like a resource manager, could also be viewed as a password authentication method
Control Program
Controls execution of programs to prevent errors and improper use of the computer
mean time to repair (MTTR)
The _____ is the average time it takes to repair or replace a faulty element.
Debugging
The activity of finding and fixing errors in a system
Von Neumann Architecture
Typical instruction-execution cycle where instructions are fetched from memory and stored in the instruction register
Information Redundancy
Use of error correct or detection techniques (ECC memory)
Device Driver
Used by device controllers to manage I/O. Understands the device controller and provides a uniform interface between the kernel and the controller
Caching
Copying information into faster storage system; main memory can be viewed as a cache for secondary storage
Cloud computing
Delivers computing storage and applications as a service across a network.
Mechanism
Determines how something will be done.
Disk Controller
Determines the logical interaction between the device and the computer
Policy
Determines what will be done.
thread
Dispatchable unit of work. Includes a processor context and its own data area to enable subroutine branching. Executes sequentially and is interruptable.
Core Dump
Failure of an application can generate a core dump; When a capture of the memory of process occurs and stored in a file for later data analysis, it is known as this
Instruction Register
Used to hold the current instruction that is being executed
UNIX
__________ - limited by hardware functionality, the original ________ operating system had limited structuring. The _________ OS consists of two separable parts Systems programs The kernel Consists of everything below the system-call interface and above the physical hardware Provides the file system, CPU scheduling, memory management, and other operating-system functions; a large number of functions for one level
hybrid
__________ combines multiple approaches to address performance, security, usability needs Linux and Solaris kernels in kernel address space, so monolithic, plus modular for dynamic loading of functionality Windows mostly monolithic, plus microkernel for different subsystem personalities
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
Solid-State Disks
Faster than hard disks and nonvolatile
User Mode
For user programs and has limitations on what it can and cannot do
task
GCD does not help the developer decide how to break up a _____ or application into separate concurrent parts.
OS's evolve for what reasons?
Hardware upgrades plus new types of hardware. New services such as new capabilities that the OS needs to provide such as software for new hardware. Fixes - Bugs being fixed in the OS.
Symmetric Clustering
Has multiple nodes running applications, monitoring each other
Error Detection
If a program has an error, the OS takes action to minimize the impact and correct or report the error; can determine where error occurred (in CPU, memory, I/O, or network)
DMA-Request
OS - DMA - ________ places a signal on the DMA-request wire when a word of data is available for transfer.
DMA
OS - For a device that does large transfers, such as a disk, it seems wasteful to use an expensive processor. Instead this is used.
DMA
OS - Many computers avoid burdening the main CPU with PIO by offloading some of this work to a special-purpose processor called:
System Programs and Middleware
OS Introduction - Along with the kernel, there are two different types of programs which are associated with the operating system but are not necessarily part of the kernel and application programs.
Bootstrap
OS Introduction - Because ROM can not be changed, only static programs, such as this program are stored there.
Bootstrap
OS Introduction - For a computer to start running it needs to have an initial program to run. This initial program is called:
Interrupt Vector
OS Introduction - Generally, the table of pointers is stored in low memory (the first 100 or so locations). These locations hold the addresses of interrupt service routines for various devices. This array is called:
Boss
OS Introduction - In Asymmetric Multiprocessing architectures one processor controls the system; The other processors either look to this processor for instruction or have predefined tasks. What is the processor called.
Non-Uniform Memory Access
OS Introduction - Memory - Multiprocessing can cause a system to change its memory access model from uniform memory access (UMA) to this:
Uniform Memory Access
OS Introduction - Memory - This is defined as the situation in which access to any RAM from any CPU takes the same amount of time .
Non-Uniform Memory Access
OS Introduction - Memory - This is defined by: Some parts of memory may take longer to access than other parts creating a performance penalty. OSs can minimize this penalty through resource management.
Increased throughput
OS Introduction - Multiprocessor systems have three main advantages: Economy of scale, Increased Reliability, and _________.
Increased Reliability
OS Introduction - Multiprocessor systems have three main advantages: Increased throughput, Economy of scale, and __________.
Economy of scale
OS Introduction - Multiprocessor systems have three main advantages: Increased throughput, Increased Reliability, and _________.
System Processes
OS Introduction - System programs that are loaded into memory at boot time are known as:
Graceful Degradation
OS Introduction - The ability to continue providing service proportional to the level of surviving hardware is called:
Device Controller
OS Introduction - This maintains some local buffer storage and a set of special-purpose registers. It is responsible for moving the data between the peripheral devices that it controls and its local buffer storage.
Bootstrap
OS Introduction - This program must know how to load the OS and how to start executing the system.
EEPROM
OS Introduction - This type of memory can be changed but can not be changed frequently and so contains mostly static programs for example: cell phones use this memory to store factory-installed programs.
Symmetric Multiprocessing
OS Introduction - This type of multiprocessing is used when each processor performs all tasks within the operating system. All the processors are pears.
Bootstrap
OS Introduction - Typically this program is stored in the ROM or the EEPROM known as firmware. Its initializes all aspects of the system, from CPU registers to device controllers to memory content.
log files
OS generate ___________ containing error information
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
Timer interrupt
interrupts the computer after a specified period
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
user goals
operating system should be convenient to use, easy to learn, reliable, safe, and fast
system goals
operating system should be easy to design, implement, and maintain, as well as flexible, reliable, error-free, and efficient
Multi-processor system
parallel systems that have more than one processor in close communication
Profiling
periodic sampling of the instruction pointer to look for statistical trends and determine which code is being executed
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
Nonvolatile storage
storage that does not lose its contents when power is removed
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. )
file management
type of system call that can: create file, delete file open, close file read, write, reposition get and set file attributes
process control
type of system call that can: create process, terminate process end, abort load, execute get process attributes, set process attributes wait for time wait event, signal event allocate and free memory Dump memory if error Debugger for determining bugs, single step execution Locks for managing access to shared data between processes
information maintenance
type of system call that can: get time or date, set time or date get system data, set system data get and set process, file, or device attributes
Uniform Memory Access (UMA)
uniform memory access, in which access to any RAM from any CPU takes the same amount of time
Effective User ID
user id with extra privileges
The operating system as a resource manager
See screenshot 2
Batch Overhead
Some of the main memory is given to the monitor along with some processing time but the overall effect is that the system is running much more efficiently so this overhead can be ignored
Kernighan's Law
"Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it."
Log File
(OS, Operating-System Structures, Operating-System Debugging, pg.86) A file in which events are recorded and can be used to alert system operators that a problem has occured.
Bottlenecks
(OS, Operating-System Structures, Operating-System Debugging, pg.86) Something that's causing performance problems is known as this
Performance Tuning
(OS, Operating-System Structures, Operating-System Debugging, pg.86) The process of seeking to improve performance by removing processing bottlenecks is known as what?
Systems Goals
(OS, Operating-System Structures, Operating-System Design and Implementation, pg.75) The goals that the system should be able to achieve such as being error free, reliable, safe, and efficient.
User Goals
(OS, Operating-System Structures, Operating-System Design and Implementation, pg.75) The goals that users want to be achieved by the properties in a system.
Software Engineering
(OS, Operating-System Structures, Operating-System Design and Implementation, pg.76) A field in which general principles have been developed to specify and design an operating system.
Port
(OS, Operating-System Structures, Operating-System Design and Implementation, pg.77) The process of moving software from one system to another.
Emulators
(OS, Operating-System Structures, Operating-System Design and Implementation, pg.77) These are programs that duplicate the functionality of one system on another system.
System Generation (SysGen)
(OS, Operating-System Structures, Operating-System Generationpg.91) A process where the system must be configured or generated for each specific computer site.
Monolithic
(OS, Operating-System Structures, Operating-System Structure, pg.78) In regards to the OS structure, a monolithic system is a large and complex system.
microkernel
A _____ architecture assigns only a few essential functions to the kernel, including address spaces, interprocess communication (IPC), and basic scheduling.
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
job
A single program, called a _____, could involve loading the compiler plus the high-level language program (source program) into memory, saving the compiled program (object program) and then loading and linking together the object program and common functions.
virtual memory
A facility that allows programs to address memory from a logical point of view, without regard to the amount of main memory physically available. Conceived to meet the requirement of having multiple user jobs resude in main memory concurrently.
Trap (Execution)
A software generated interrupt caused by either an error or a user request
kernel
A portion of the OS is in main memory. This includes the _____, or nucleus, which contains the most frequently used functions in the OS and, at a given time, other portions of the OS currently in use. *The remainder of main memory contains user programs and data.
nucleus
A portion of the OS is in main memory. This includes the kernel, or _____, which contains the most frequently used functions on the OS and, at a given time, other portions of the OS currently in use. *The remainder of memory contains user programs and data.
Process
A program in execution, an instance of a program running on a computer, the entity that can be assigned to and executed on a processor, the unit of activity characterized by a single sequential thread of execution, a current state, and an associated set of system resources.
virtual address
A program references a word by means of a _____ consisting of a page number and an offset within the page.
Operating System
A program that acts as an intermediary between a user of a computer and the computer hardware
operating system
A program that controls the execution of application programs. An interface between applications and hardware.
System Program
A program that ships with the operating system
Graceful Degradation
Ability to continue providing service proportional to the level of surviving hardware
File
Abstracts physical properties to logical storage unit
I/O Structure 1
After I/O starts, control returns to user program only upon I/O completion. The wait instruction idles the CPU until the next interrupt. There is a wait loop and there is only 1 I/O request at a time.
I/O Structure 2
After I/O starts, control returns to user program without waiting for I/O completion. A system call sends a request to the OS to allow the user to wait for I/O completion. The device-status-table holds all the info on the I/O devices, and the OS indexes into the I/O table to determine device status and to modify table entry to include the interrupt.
CTSS
An early example of a time sharing system developed by MIT in 1961 as part of the MAC (Multiple Access Computers), first for the IBM 7090 and later ported to the 7094. Extremely influential leading to multics. The project leader was Dr.Corbato who was awarded the Turing award in 1990.
Public cloud
Available via Internet to anyone willing to pay
time-sharing system
Can be used to handle multiple interactive jobs. Processor time is shared among multiple users. Multiple users simultaneously access the system through terminals, with the OS interleaving the execution of each user program in a short bust or quantum of computation.
privileged instruction
Certain machine level instructions are designated privileged and can be executed only by the monitor.
Private cloud
Cloud run by company for its own use
Security
Defense of the system against external and internal attacks
Application Binary Interface (ABI)
Defines a standard for binary portability across programs. The ABI defines the system call interface to the OS and the hardware resources and services available in the system through the user ISA.
Instructions Set Architecture (ISA)
Defines the set of machine language instructions that a computer can follow. This is the interface between the hardware and the software. Applications and utilities can only utilize a subset of the instructions. The OS can use the additional instructions.
Memory
Dynamic data storage unit
Asymmetric Multiprocessing
Each processor is assigned a specific task
Symmetric Multiprocessing
Each processor performs all tasks
Interrupt
Early computer models did not have this capability. This feature gives the OS more flexibility in relinquishing control to and regaining control from user programs; Provides a better way to handle the transfer of control from the monitor to the user program.
Program Development
Editors and debuggers to assist in program creation
Secondary Storage
Extension of main memory that provides a large nonvolatile storage capacity
Cycle Stealing
OS - DMA - When the DMA controller seizes the memory bus, the CPU is momentarily prevented from accessing main memory, although it can still access data items in its primary and secondary caches. This can slow down the CPU computation. This is called:
time sharing
Just as multiprogramming allows the processor to handle multiple batch jobs at a time, multiprogramming can also be used to handle multiple interactive jobs. In this latter case, the technique is referred to as _____, because processor time is shared among multiple users.
Bootstrap Program
Loaded at power-up or reboot. Typically stored in ROM or EPROM and known as firmware. Loads the kernel and starts execution
Timesharing (Multitasking)
Logical extension in which the CPU switches jobs so frequently that users can interact with each job while it is running, creating interactive computing
Availability
MTTF / (MTTF + MTTR)
Central Processing Unit (CPU)
Main Processor
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
modules
Many modern operating systems implement loadable kernel __________ Uses object-oriented approach Each core component is separate Each talks to the others over known interfaces Each is loadable as needed within the kernel Overall, similar to layers but with more flexible Linux, Solaris, etc
What are the 5 categories of a modern OS
Microkernel Architecture, Multithreading, Symmetric Multiprocessing, Distributed Multiprocessing, Object-Oriented Design
Minicomputer
Middle range of computing systems, between mainframes and PCs
scheduling
Most installations used a hardcopy sign-up sheet to reserve computer time. Typically, a user could sign up for a block of time in multiples of a half our or so.
monolithic kernel
Most operating systems, until recently, featured a large _____. Most of what is thought of as OS functionality is provided in these large kernels, including scheduling, file system, networking, device drivers, memory management, and more.
microkernel system structure
Moves as much from the kernel into user space Mach example of microkernel Mac OS X kernel (Darwin) partly based on Mach Communication takes place between user modules using message passing Benefits: Easier to extend a microkernel Easier to port the operating system to new architectures More reliable (less code is running in kernel mode) More secure Detriments: Performance overhead of user space to kernel space communication
Request and acknowledge
OS - DMA - Handshaking between the DMA controller and the device controller is performed via a pair of wires called the DMA
Direct Virtual Memory Access
OS - DMA - Some computers architectures use physical memory addresses for DMA, but others perform:
Read
Only Memory (ROM) -(OS,Operating-System Structures, System Boot, pg.93) This happens when the RAM is in an unknown state at system startup, and is also convenient, because it doesn't require initialization or easily infected by a virus.
Erasable Programmable Read
Only Memory -(OS,Operating-System Structures, System Boot, pg.93) Also known as EPROM, this is a read-only except when explicitly given a command to become writable
Main Memory
Only large storage media that the CPU can access directly
Users
People, machines, other computers
File Accces
Protection mechanisms to prevent unauthorized access to files
Portals
Provide web access to internal systems
Virtual Machines
Provides a greater degree of isolation as well as redundancy through multiple virtual machines
System Calls
Provides an interface to the services made available by an operating system
Hardware
Provides basic computing resources (CPU, Memory, I/O)
I/O Device Access
Provides generic interface to diverse set of I/O devices
Temporal Redundancy
Repeating an operation after an error occurs
System Call
Request to the OS to allow user to wait for I/O completion; software interrupt
Hard Disks
Rigid metal or glass platters covered with magnetic recording material. Divided into tracks and sectors
Multiprogramming (Batch System)
Single user cannot keep CPU and I/O busy at all times. Jobs are organized and executed one at a time by the CPU. A subset of total jobs is kept in memory, and when there is a wait, the OS switches to another job
Time-Sharing Systems
Solves the issue of batch systems running things without user interaction, basically making them non-interactive. Time-Sharing systems allow for interactivity. This is how most users will interact with programs these days. Time sharing also facilitated multi-user terminals with processor time shared between multiple users.
Application Programs
System resources, or programs, are used to solve the problems of the users (word processors, spreadsheets, compilers, and web browsers)
mean time to failure (MTTF)
The basic measures of the quality of the operation of a system that relates to fault tolerance are reliability, _____, and availability. These concepts were developed with reference to hardware faults but apply more generally to hardware and software faults.
monitor
The central idea behind the simple batch-processing scheme is the use of a piece of software known as the _____. With this type of OS, the user no longer has direct access to the processor. Instead, the user submits the job on cards or tape to a computer operator, who batches the jobs together sequentially and places the entire batch on an input device, for use by the _____.
parameter passing
Three general methods used to pass parameters to the OS Simplest: pass the parameters in registers In some cases, may be more parameters than registers Parameters stored in a block, or table, in memory, and address of block passed as a parameter in a register This approach taken by Linux and Solaris Parameters placed, or pushed, onto the stack by the program and popped off the stack by the operating system Block and stack methods do not limit the number or length of parameters being passed
GUI
User-friendly desktop metaphor interface Usually mouse, keyboard, and monitor Icons represent files, programs, actions, etc Various mouse buttons over objects in the interface cause various actions (provide information, options, execute function, open directory (known as a folder) Invented at Xerox PARC Many systems now include both CLI and ___ interfaces Microsoft Windows is ___ with CLI "command" shell Apple Mac OS X is "Aqua" ___ interface with UNIX kernel underneath and shells available Unix and Linux have CLI with optional ___ interfaces (CDE, KDE, GNOME)
Serial Processing
Users had access to the system one at a time and this could be called serial processing
Direct Memory Access (DMA)
When a device controller transfers an entire block of data from its own buffer storage to memory without CPU intervention
Crash Dump
When crashes occur, the error information is saved to a log file and the memory state is saved into this; an event where failure in the kernel occurs
resource allocation
When multiple users or multiple jobs running concurrently, resources must be allocated to each of them Many types of resources - CPU cycles, main memory, file storage, I/O devices.
system boot
When power initialized on system, execution starts at a fixed memory location Firmware ROM used to hold initial boot code Operating system must be made available to hardware so hardware can start it Small piece of code - bootstrap loader, stored in ROM or EEPROM locates the kernel, loads it into memory, and starts it Sometimes two-step process where boot block at fixed location loaded by ROM code, which loads bootstrap loader from disk Common bootstrap loader, GRUB, allows selection of kernel from multiple disks, versions, kernel options Kernel loads and system is then running
Virtualization
When the OS is natively compiled for the CPU
Emulation
When the source CPU type is different from the target type
Boot Block
Where the code is being read and is often times sophisticated enough to run the entire OS
SYSGEN
____________ program obtains information concerning the specific configuration of the hardware system Used to build system-specific compiled kernel or system-tuned Can general more efficient code than one general kernel
system programs
____________ provide a convenient environment for program development and execution. They can be divided into: File manipulation Status information sometimes stored in a File modification Programming language support Program loading and execution Communications Background services Application programs Most users' view of the operation system is defined by ______________, not the actual system calls
MS-DOS
_____________ - written to provide the most functionality in the least space Not divided into modules Although ___________ has some structure, its interfaces and levels of functionality are not well separated
Network
a communication path between two or more systems
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
Systems program
associated with the OS but not part of the kernel
command interpreter (CLI)
allows direct command entry Sometimes implemented in kernel, sometimes by systems program Sometimes multiple flavors implemented - shells Primarily fetches a command from user and executes it Sometimes commands built-in, sometimes just names of programs If the latter, adding new features doesn't require shell modification
Real-Time operating system
an OS intended for real time applications --> almost always used in embedded systems
Solaris
commercial UNIX-based operating system of Sun Microsystems
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
hardware
bottom layer of the layered approach of OS is the ____________
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
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
Dual mode operation
hardware support that allows us to differentiate amount various mods of execution (user defined code vs. os code)
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
system-call interface
invokes the intended system call in OS kernel and returns status of the system call and any return values The caller need know nothing about how the system call is implemented Just needs to obey API and understand what OS will do as a result call Most details of OS interface hidden from programmer by API Managed by run-time support library (set of functions built into libraries included with compiler)
resource allocator
job of the operating system, allocates and manages hardware resources
Mainframe
large and powerful data processing system
User ID
list of usernames
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
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
Debugger
system programmed designed to aid programmers in finding and correcting errors
Single-Processor System
systems that have only one main CPU
User Interface (UI)
the highest level of the OS layered approach is the ____________________; on almost all operating systems
Kernel
the one program running at all times; the core of the operating system
Program Execution
the process of loading a program into memory and then running that program; details of program execution are handled by the OS (initialization, resource management, etc)
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
Kernel Mode
when a user application requests a service from the operation system
User Mode
when the computer is executing on behalf of a user application
OS Convenience Advantages
makes the user/computer interface more convenient for the user to use the system. Application programmers do not need to keep track of specific hardware details of the system, so it provides a layer of abstraction. The OS acts to insulate the user from hardware making it easier to access the system The OS provides services like file management of I/O devices that an end user needs but would not want to write each time a new program is written (lots of abstraction)
process
It is a somewhat more general term than job. Many definitions have been given for the term _____, including: * A program in execution * An instance of a program running on a computer * The entity that can be assigned to and executed on a processor * A unit of activity characterized by a single sequential thread of execution, a current state, and an associated set of system resources.
Accounting
Keeps track of computer resources in use; Usage statistics can be collected and used for system optimization or billing
Setup time
With an OS to manage resources, considerable time was spent setting up a program to run with all the right resources
multithreading
_____ is a technique in which a process, executing an application, is divided into threads that can run concurrently.
symmetric multiprocessing (SMP)
_____ is a term that refers to a computer hardware architecture (described in Chapter 1) and also to the OS behavior that exploits that architecture. Several processes can run in parallel. Multiple processors are transparent to the user. These processors share same main memory and I/O facilities. All processors can perform the same functions.
virtual machine
_____, provide a greater degree of application isolation and hence fault isolation. _____ can also be used to provide redundancy, with one or more _____ serving as backup for another.