Operating System Concepts Chapter 1&2

Réussis tes devoirs et examens dès maintenant avec Quizwiz!

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.


Ensembles d'études connexes

Oceanography Ch. 3 Marine Provinces

View Set

Chapter 46: Nursing Management: Patients with Neurologic Disorders

View Set

Computer science chapter 5 and 6

View Set