Small programs that allow input/output devices to communicate with the computer.
Back
file descriptor
Front
integer number identifying a file connection
Back
I/O
Front
*O/S performs all I/O; forbids user.
*Users ask the O/S for service.
*See above.
Back
First Generation
Front
1940-1960
Relays or vacuum tubes.
Back
Interrupt(different from trap)
Front
hardware version of interrupt
Back
Resource manager
Front
distributes and enforces the distribution
Back
Second Generation
Front
mid 1960's-mid 1970's;
Transistors
One user program at a time.
Back
I/O port space
Front
allows for special IN and OUT instructions are available in kernel mode to allow drivers to read and write the registers.
Back
DMA Chip
Front
control the flow of bits between memory and some controller without constant CPU intervention.
Back
Protection
Front
*Hardware modes give the O/S secure control.
*OS then implements other restrictions.
-File permission.
-Memory control
Back
L1 Cache
Front
Cache used by a CPU for short-term storage of data and instructions. It is the fastest and closest to the CPU.
Back
Stack Pointer (SP)
Front
points to the top of the current stack in memory
Back
Memory Management Unit (MMU)
Front
The run-time mapping from virtual to physical addresses (hardware device)
Back
Pipelines
Front
organization system for running multiple processes at once
Back
Monolithic-Kernel
Front
Entire OS working in Kernel space, high level interface, lots of software over hardware.
Back
Fourth Generation
Front
1980-present
Gui's
Back
Soft real-time systems
Front
Provide no guarantee as to when a critical real-time process will be scheduled. They guarantee only that the process will be given preference over noncritical processes.
Back
Memory Protection Hardware
Front
OS can't do this when user code is running.
Creates an interrupt on violations.
Back
Busy Waiting
Front
a method by which processes, waiting for an event to occur, continuously test to see if the condition has changed and remain in unproductive, resource consuming wait loops
Back
Pipe
Front
used to connect two processes
Back
Multi-core
Front
many processor 'cores' on a single chip
Back
Program Counter (PC)
Front
Register that holds the memory address of the next instruction to be executed.
Back
Process Table
Front
all the information about each process, other than the contents of its own address space, is stored in an operating system. Which is an array of structures, one for each process currently in existence.
Back
*interrupts and traps
*CPU Modes
*Memory Protection
*Clock interrupt
Front
features needed by the Operating systems
Back
Third Generation
Front
1964-1970
Integrated circuits
each program has own region of memory
spooling/time sharing
Back
two parts of an I/O device
Front
A controller and the device itself
Back
Fifth Generation
Front
present
mobile computing
limited power
Back
Context Switch
Front
requires performing a state save of the current process and a state restore of a different process. save the CPU registers and replace them with saved copies from another running program.
Back
how to concatenate in a shell
Front
cat then put the file names separated by a space
Back
three ways the driver can be placed into the kernel
Front
*re-link the kernel with the new driver and then reboot the system.
* make an entry in an operating system file telling it that it needs the driver and then reboot the system. At boot time, the operating system goes and finds the drivers it needs and loads them.
*accept new drivers while running and install them on the fly without the need to reboot.
Back
Polling
Front
process where the computer or controlling device waits for an external device to check for its readiness or state, often with low-level hardware.
Back
Solid State Storage
Front
Order doesn't matter.
Writes wear the device, and must be distributed.
Back
device driver
Front
software that talks to a controller, giving it commands and accepting responses,
Back
Program Status Register
Front
Back
Multi-threaded processor.
Front
execute multiple processes or threads concurrently, supported by the operating system.
CPU can switch between them without copying to memory.
Multiple register sets
Back
Hard real-time systems
Front
Real-time system where a critical process must be serviced before a deadline.
Back
CPU Modes Hardware
Front
User and supervisor (or kernel) mode.
Some instructions allowed only in supervisor mode(I/O instructions, for instance).
switch to user before executing user code
Back
Address Space
Front
list of memory locations from 0 to some maximum, which the process can read and write
Back
nonvolatile memory
Front
Storage that retains data even when powered down (such as flash memory, hard disk, or DVD storage).
Back
L2 Cache
Front
Cache used by a CPU for short-term storage of data. It is used second after L1 cache and is slower than L1.
Back
SATA
Front
A type of ATA interface that uses serial data transfer rather than the parallel data transfers used in older forms of ATA. See also parallel ATA (PATA).
Back
cache hit
Front
When the CPU finds the stored data in the cache
Back
batch processing system
Front
Back
Networking Protocols
Front
define a common format and set of rules for exchanging messages between devices.
Back
Traps(different from interrupt)
Front
software version of interrupt
Back
Extended Machine
Front
Adds function to the machine.
Back
Micro-Kernel
Front
Structures the op system by removing all nonessential components from the kernel and implementing them as system and user level programs
Back
Interrupt
Front
start the device and ask it to give an interrupt when it is finished. At that point the driver returns. The operating system then blocks the caller if need be and looks for other work to do. When the controller detects the end of the transfer,
Back
memory hierarchy in top down order
Front
Register
Cache
Main Memory
Magnetic Disk
Back
Section 2
(21 cards)
pop up thread
Front
creates a thread upon the arrival of a networking message
Back
thread
Front
-semi-process that has its own stack, and executes a given piece of code
Back
-Normal Exit
-Abnormal exit
Front
voluntary process termination
Back
Microkernels
Front
functions removed from the kernel to minimize it
Back
fork system call
Front
Creates a new process
Back
kernel
Front
schedues threads, not processes
Back
monolithic
Front
collection of functions
Back
threads difference from processes
Front
-cheaper to create,destroy and switch
-communicate more efficiently.
-possibly in same memory space
Back
exec
Front
runs the specified program in the current
Back
Thread-local storage
Front
-block of storage attached to the thread
Back
pseudoparallelism
Front
appearance of multiple processes running at the same time
Back
User Space vs. Kernel Space
Front
-easier to write a library than modify kernel
-library more portable
-thread switching faster without the kernel
-when a thread of the library process blocks all the threads block