Section 1

Preview this deck

System programs

Front

Star 0%
Star 0%
Star 0%
Star 0%
Star 0%

0.0

0 reviews

5
0
4
0
3
0
2
0
1
0

Active users

0

All-time users

0

Favorites

0

Last updated

6 years ago

Date created

Mar 1, 2020

Cards (167)

Section 1

(50 cards)

System programs

Front

is associated with the operating system but are not necessarily part of the kernel

Back

Direct memory access

Front

allows data to be sent directly from an attached device, such as a disk drive, to the memory on the computer's motherboard

Back

context switch

Front

State save of the current process and state restore of a different process

Back

user mode

Front

non-privileged mode in which each process starts out; forbidden for these processes to access portions of memory that have been allocated to the kernel or to other programs

Back

Swapping

Front

processes are swapped in and out of main memory to the disk

Back

Asymmetric multiprocessing

Front

multiprocessor systems in which each processor is assigned a specific task

Back

Instruction register

Front

the part of a CPUs control unit that holds the instruction currently being executed or decoded

Back

kernel mode

Front

has root privileges, permission o access any memory space

Back

MMU (Memory Management Unit)

Front

a hardware component that handles all memory and caching operations associated with the processor; responsible for all aspects of memory management

Back

NVRAM

Front

nonvolatile RAM; DRAM with battery backup power; nonvolatile as long as the battery lasts

Back

Magnetic disk

Front

provides storage for programs and data using magnetic storage to store and retrieve digital information using one or more rigid and rapidly rotating disks

Back

Interrupt

Front

signals the occurrence of an event that needs immediate attention

Back

Minicomputer

Front

a computer of medium power, more than a microcomputer but less than a mainframe

Back

Volatile

Front

able to change

Back

Solid-state disks

Front

nonvolatile; faster than hard disks

Back

ROM

Front

read-only memory; non-volatile memory

Back

process control block

Front

The data structure used by the operating system to manage information about a process and its state

Back

Mainframe

Front

a large high-speed computer, especially one supporting numerous workstations or peripherals

Back

Symmetric multiprocessing

Front

multiprocessor system in which each processor performs all tasks including operating system functions and user processes.

Back

Multicore

Front

multiple processors on a single chip, which is faster than between chip communication and uses less power

Back

Virtual memory

Front

a technique that allows the execution of a process that is not completely in memory

Back

Hot-standby mode

Front

system only monitors the active server, in case the running server fails, than server in this mode takes over

Back

Middleware

Front

a set of software frameworks that provide additional services to application developers

Back

Nonvolatile storage

Front

does not lose its contents without power

Back

Kernel

Front

the operating system running at all times on the computer

Back

Firmware

Front

permanent software programmed into read-only memory

Back

Bootstrap program

Front

the initial program run when the computer starts which initializes all aspects of the system from CPU registers to device controllers to memory contents; must know how to load the OS and how to start executing that system

Back

Asymmetric clustering

Front

one system is in hot-standby mode while the other is running the application

Back

Workstations

Front

a personal minicomputer connected to networks of other personal computers and servers

Back

Response time

Front

the time taken for a circuit or measuring device, when subjected to a change in input signal, to change its state by a specified fraction of its total response to that change

Back

Physical memory

Front

an actual device holding memory

Back

RAM

Front

random access memory; any byte of memory can be accessed without touching the preceding bytes; retains data bits in its memory as long as power is being supplied (static)

Back

Interrupt driven

Front

if there are no interrupts, an OS will sit quietly waiting for something to happen

Back

Interrupt vector

Front

an array of addresses pointing to interrupt routines; this speeds up the handling of interrupts by providing an address book where the interrupt can quickly and accurately transfer to control to the appropriate interrupt service routine

Back

DRAM

Front

dynamic random access memory; needs to be periodically refreshed or it will lose its contents

Back

Moore's law

Front

predicted the number of transistors on an integrated circuit would double every eighteen months

Back

Servers

Front

manages access to a centralized resource or service in a network

Back

Logical memory

Front

a translation of memory to a physical device

Back

Symmetric clustering

Front

two or more hosts are running applications and are monitoring each other

Back

EEPROM

Front

electrically erasable programmable read-only memory; read-only memory whose contents can be erased and reprogrammed using a pulsed voltage

Back

program counter

Front

a register in a computer processor that contains the address of the instruction being executed at the current time

Back

System processes

Front

another term for system daemons

Back

Device driver

Front

used by device controllers to manage I/O; provides a uniform interface between the kernel and the controller

Back

Von Neumann Architecture

Front

modern computer structure consisting of four subsystems: memory, I/O, arithmetic logic unit, and control unit, and the stored program concept and sequential execution of instructions concept

Back

Multiprocessor systems

Front

Computer systems with two or more processors in close communication, sharing computer bus and sometimes the clock, memory and peripheral devices

Back

Trap (exception)

Front

a software-generated interrupt caused either by an error or by a specific request from a user program that an OS service be performed

Back

System daemons

Front

a computer program that runs as a background process rather than being under the direct control of an interactive user

Back

System call

Front

an operation that software calls to trigger an interrupt

Back

Monitor call

Front

another term for system call

Back

Secondary storage

Front

must be able to hold large quantities of data permanently (nonvolatile)

Back

Section 2

(50 cards)

bash

Front

bourne again shell

Back

green threads

Front

a thread system implemented entirely at user-level without any reliance on operating system kernel services, other than those designed for single-threaded processes

Back

CPU register

Front

Internal memory in the CPU. These store information that the arithmetic and logic units need to carry out the current instruction.

Back

race condition

Front

an erroneous condition where the output of a function depends on the temporal order of events

Back

client-server

Front

A network architecture in which a system is divided between server tasks performed on the instructions received from clients, requesting information.

Back

process

Front

an instance of a running program on a computer; a unit of activity characterized by a single sequential thread of execution, a current state, and an associate set of allocated system resources

Back

semaphore

Front

a variable or abstract data type used to control access to a common resource by multiple processes in a concurrent system

Back

stack

Front

first in last out

Back

process identifier (PID)

Front

Most operating systems (including UNIX, Linux, and Windows) identify processes according to a unique integer number

Back

two-level model

Front

A variation on the many-to-many model that multiplexes many user-level threads to a smaller or equal number of kernel threads but also allows a user-level thread to be bound to a kernel thread.

Back

multithreaded

Front

Describes a program that is designed to have parts of its code execute concurrently

Back

bounded buffer

Front

problem for concurrent programming, arises from a situation when there is a speed disparity between processes, so data must be buffered between them; the producer is most often faster than the consumer

Back

user thread

Front

managed without kernel support and can be implemented on OS's that don't support threads. faster and more efficient than the other kind

Back

shared memory

Front

the memory that can be simultaneously accessed by multiple processes

Back

ordinary pipes

Front

allow two processes to communicate in standard producer-consumer fashion: the producer writes to one end of the pipe (the write-end) and the consumer reads from the other end parent/child relationship

Back

sh

Front

bourne shell

Back

orphan

Front

a process whose parent process has finished executing or terminated, this child process is then reclaimed by init

Back

sandboxing

Front

A form of software virtualization that lets programs and processes run in their own isolated virtual environment; in a browser, each tab & plugin run in its own address space, use IPC to communicate to main controller

Back

kernel thread

Front

The scheduler may decide to give more time to a processes that has a large number of these threads than a process that has a small number of threads, increasing efficiency

Back

bootstrap program

Front

A program stored in ROM that loads and initializes the operating system on a computer

Back

fork()

Front

returns 0 to indicate child process, returns the pid of the child to indicate parent process

Back

policy

Front

determines what will be done, more volatile

Back

csh

Front

C shell

Back

system calls

Front

the programmatic way in which a computer program requests a service from the kernel of the operating system it is executed on

Back

Cache management

Front

careful selection of the cache size and of a replacement policy can result in greatly increased performance

Back

Message passing

Front

in which packets of information in predefined formats are moved between processes by the operating system

Back

data parallelism

Front

distributing subsets of data across multiple processors

Back

Shared memory

Front

two or more processes read and write to a shared section of memory

Back

many-to-many model

Front

many kernel threads to many user threads

Back

Long-term scheduler/Job scheduler

Front

selects processes from this pool and loads then into memory for execution

Back

mechanism

Front

determines how to do something, less volatile

Back

one-to-one model

Front

one kernel thread to one user thread

Back

Caching

Front

faster storage system that keeps things on a temporary basis

Back

message passing

Front

allows multiple processes to read and write data to the message queue without being connected to each other. Messages are stored on the queue until their recipient retrieves them

Back

cascading termination

Front

The technique of terminating all child processes when a parent process terminates

Back

task parallelism

Front

threads working on shared data

Back

named pipes

Front

can be accessed without a parent-child relationship, can go two ways

Back

Short-term scheduler/CPU scheduler

Front

selects from among the processes that are ready to execute and allocates the CPU to one of them.

Back

nash

Front

not a shell

Back

WORM

Front

write once read many times

Back

system call interface

Front

the border between user mode and kernel mode that handles system calls

Back

mutex lock

Front

a program object that is created so that multiple program thread can take turns sharing the same resource

Back

ksh

Front

korne shell

Back

critical section

Front

a section of code that has a race-hazard in it, such that by preventing the interleaving of any other dependent code, the race condition will be avoided

Back

blocking

Front

a process waiting for some event, such as a resource becoming available or the completion of an I/O operation

Back

many-to-one model

Front

many user threads to one kernel thread

Back

Cache coherency

Front

a copy of A may exist simultaneously in several caches. Since the various CPUs can all execute in parallel, we must make sure that an update to the value of A in one cache is immediately reflected in all other caches where A resides.

Back

Context switch

Front

switching the CPU to another process requires performing a state save of the current process and a state restore of a different process

Back

zombie

Front

a process whose parent does not use the wait system call after a child dies to read its exit status

Back

Amdahl's law

Front

A system's speed is determined by its portion of code needed to be run serially speedup <= 1 / (S + (1-S)/N)

Back

Section 3

(50 cards)

gdb

Front

GNU debugger

Back

cat

Front

concatenate files and print on the standard output

Back

|

Front

output of a command as an input to another command (pipe)

Back

mkdir

Front

make directory

Back

Types of System Calls

Front

process control file management device management information maintenance communications

Back

Shell Process Steps

Front

shell startup cmd prompt waits for input parses input, interprets it returns to cmd prompt

Back

OS Common Functionality

Front

Multiprogramming Process management memory management storage management protection and security

Back

CPU

Front

Central Processing Unit; the brain of the computer.

Back

vi

Front

text editor (visual editor)

Back

OS application layer

Front

the libraries that are needed to run programs in that OS

Back

man

Front

manual

Back

context-switch

Front

The exchange of register information that occurs when one process is removed from the CPU and another takes its place

Back

multitasking

Front

the OS is responsible for suspending running processes

Back

pwd

Front

print working directory

Back

&

Front

job control

Back

Non-Blocking I/O

Front

returns immediately, indicating that data was read, or that the device was not ready. The process does not block

Back

process isolation

Front

technique to prevent and protect a process from inadvertent or malicious modification of its state by another process

Back

<

Front

takes input from file

Back

Multiprogramming Problems

Front

Improper process synchronization Failed mutual exclusion between processes Non-deterministic process execution Process deadlocks

Back

Process

Front

Unit of activity characterized by a single sequential thread of execution, a current state, and an associate set of allocated system resources

Back

ls

Front

list files in directory

Back

cut

Front

remove sections from each line of files

Back

IPC

Front

Inter Process Communication

Back

process silo

Front

grants each program the appearance of running on the hardware as if it were the only program on the system

Back

Thirteen Layers of an OS

Front

shell user processes directories devices file system communications virtual memory local secondary sore primitive processes interrupts procedures instruction set electronic circuits

Back

gdb watch

Front

watch for a variable change

Back

ash

Front

almquist shell

Back

OS scheduler

Front

handles the removal of the running process from the CPU and the selection of another process on the basis of a particular strategy; chooses the next runnable process

Back

cut --characters=LIST

Front

remove only these characters from a file

Back

mv

Front

move a file or directory

Back

ps

Front

list processes

Back

Kernel Startup Steps

Front

setup hardware for OS enter protected mode initialize internal structures find and load its first program

Back

Process States

Front

New Running Waiting Ready Terminated

Back

Waiting

Front

process made a system call, result is not yet available

Back

thread

Front

a single stream of instructions being fetched by the processor only has one process identifier, PCB, memory address space, PC

Back

valgrind

Front

Tool to find memory issues

Back

who

Front

show who is logged on

Back

gcc

Front

compilation of a C program

Back

rm

Front

remove file

Back

heap memory

Front

an area of memory used for dynamic allocations, meaning that blocks of memory can be allocated and freed in an arbitrary order and accessed multiple times

Back

whoami

Front

print your userid

Back

>

Front

redirects output to a text file, stderr, etc.

Back

multiple-processes

Front

an alternative to non-blocking I/O A parent process can spawn new processes to handle the work loads Parent manages the workers

Back

multiprogramming

Front

admitting multiple processes to run-queue and switching between them giving the appearance that more than one program is running at the same time

Back

Operating System

Front

Create a program environment that gives the illusion that there is one program running on the system, and that that program has full control of the system, and is independent (or partially so) from all other programs running on the system

Back

grep

Front

searches for a pattern in each file1 file2 file3

Back

OS user-interfaces

Front

command line, GUIs, and required frameworks

Back

computer components

Front

CPU Memory Storage Busses Controllers Interface Boards User Hardware

Back

less

Front

opposite of more

Back

data memory

Front

the register of a CPU that contains the data to be stored in the computer storage (e.g. RAM), or the data after a fetch from the computer storage.

Back

Section 4

(17 cards)

Parts of a Critical Section Solution

Front

Mutual Exclusion Progress Bounded Waiting

Back

DeMorgan's Theorem

Front

~(p ^ q) = ~p v ~q

Back

deterministic computing

Front

the state of the computation is closed over the function, input, and output - the entire state of the computation can be described, and from that state, the next state of the computation can exactly be described

Back

thread pools

Front

spawning many threads can overwhelm scheduling resources and drag down system performance, instead, a pool of available workers can be allocated

Back

implicit threading

Front

Creation and management of threads done by compilers and run-time libraries rather than programmers

Back

mergesort in parallel

Front

can be run in parallel, but math has to determine the optimum number of threads for the data size in question

Back

I/O bound process

Front

a process that spends more of tis time doing I/O than it spends doing computations

Back

critical race condition

Front

the order of events DOES change the eventual output state of the computation

Back

CPU bound process

Front

a process that generates I/O requests infrequently, using more of its time doing computations

Back

multithreaded programming issues

Front

simultaneous multithreading dividing work balancing workload data dependencies testing and debugging

Back

non-critical race condition

Front

the order of events does change the internal state of the computation; but not the final, eventual, output state of the computation Happens in almost all concurrent code. The scheduling of cooperating process invariably creates different states of the computation - but they don't change the final output

Back

threads share these

Front

code, data, files

Back

Peterson's Solution

Front

Back

Prove Peterson's Solution by Contradiction

Front

Back

threads get their own

Front

registers and stack

Back

threading benefits

Front

UI Responsiveness Resource Sharing Economy Scalability

Back

quicksort in parallel

Front

can't be run in parallel, overhead too costly

Back