Chapter 2 Flashcards
What is the purpose of Os systems?
make programming easier
describe UI
- command line interface (CLI) uses text commands and methods for entering
- batch interface uses commands to commands are entered into files which are executed
- graphical user interface uses a window system with a pointing device to direct i/o, choose from menus, make selections, and a keyboard to enter text
describe execution
load program to memory, run program, and execution
describe i/o operations
for efficiency and protection, users usually cannot control i/o devices directly
describe file-system manipulation
read/write/create/delete files
describe communications
implemented via shared memory; 2+ processes read and write to a shared section of memory, or message passing, in which packets of info in predefined formats are moved between processes by the OS
describe error detection
errors may occur in CPU, memory hardware, i/o devices, and user program
describe resource allocation
resources need to be allocated for multiple jobs/users running concurrently
describe accounting
for statistics or billing
describe protection and security
concurrent processes could cause interference so protection and security is useful and necessary
2 fundamental approaches for users to interface with OS
- command-line interface allows users to directly enter command to be performed
- uses a GUI
define shells
interpreters with systems of multiple command interpreters to choose from
main function of command interpreter
get and execute next user-specified command
2 general ways of implementation of command interpreters
- command interpreter contains code to execute the command
2. uses command to identify a file to be loaded into memory and executed
define graphical user interface
interpreter that uses a mouse-based window and menu system: desktop
gestures on the touch screen on the ipad
a benefit of command line interfaces
it makes repetitive tasks easier
describe system calls
they provide an interface to the services made available by an OS
define system-call interface
interprets function calls in the API and invokes the necessary system calls within the OS
3 general methods to pass parameters to OS
- pass parameters in registers
- store parameters in block/table/memory and then pass its address
- parameters placed/pushed onto stack and popped off the stack by OS
6 major categories of system calls
- process control
- file manipulation
- device manipulation
- information maintenance
- communications
- protection
define debugger
system program designed to aid the programmer in finding and correcting errors to determine problem
steps of process control
- OS transfers control to invoking command interpreter
- command interpreter reads next command
- different systems continue differently
- ensure integrity of shared data, there is a system call allowing a process to lock shared data
describe interactive system
assumed user will issue an appropriate command to respond to any error
describe batch system
command interpreter terminates entire job and moves on to next job
an example of single-tasking system
MS-DOS
an example of multi-tasking system
FreeBSD
MS-DOS definition and steps
has a command interpreter that is invoked when computer has started, doesn’t create a new process, loads program into memory, sets instructions pointer to first instructions, runs, error causes trap or program executes system call to terminate (error is saved), reloads rest of command interpreter from disk
define FreeBSD
accepts commands and executes programs that the user requests, multi-tasking of loading and running
define single step
trap is executed by CPU after every instruction; microprocessors provide this CPU mode
2 common models of interprocess communication
- the messaging model
2. shared-memory model
define messaging model
communication process exchange messages with on another to transfer information
define host name
name of computer in a network, usually has a network identifier; IP address
define process name
name of process which is translated into an identifier
define daemons
system programs, special-purpose, server
define shared-memory model
use system calls to create and gain access to regions of memory owned by other processes
define protection
provides a mechanism for controlling access to the resources provided by a computer system
list computer hierarchy from least to greatest
hardware –> OS –> system programs –> application programs
define system programs
system utilities; provide a convenient environment for program development and execution
define file management
programs create/copy/delete/receive and manipulate files and directories
define status information
use a registry which stores/receive configuration information
define file modification
there are special commands to search and modify files
define programming-language support
compilers, assemblers, debuggers, and interpreters
define program loading/execution
must be loaded into memory to be executed
define communications
creating virtual connections among processes, users, and computer systems
define background services
services, subsystems, or daemons
define mechanisms
determine HOW to do something
define policies
determine what will be done
why are policies important
for all resource allocation
what does the kernel do through system calls
- provides the file system
- cpu scheduling
- memory management
- other OS functions
what is the bottom layer of OS
hardware
what is the highest layer of OS
user interface
what are problems with layered approach of OS
less efficient, hard to define the various layers
define MACH
operating system that modularized the kernel using the microkernel approach
name a benefit of the microkernel approach
easier to port from one hardware design to another
define loadable kernel modules
kernel to provide core services while other services are implemented dynamically, as the kernel is running, more flexible than a layered approach, more efficient
7 types of loadable kernel modules
- scheduling classes
- file systems
- loadable system calls
- executable formats
- stream modules
- miscellaneous
- device and bus drivers
define kernel extensions
I/O kit for development of device drivers and dynamically loadable modules
define iOS
closed-sourced, structured on MAC OS X but does not directly run MAC OS X applications, used for mobile devices, such as touch screens
define android
open-source, layered
define core dump
capture of the memory of the process
define crash
failure in kernel
define crash dump
where memory of log file is saved to
define trace listings
provide traces of all ‘significant’ events where errors are tracked
define Dtrace
facility that dynamically adds probes to a running, both in user process and in the kernel
define profiling
periodically sampling the instruction pointer to determine which code is being executed shows statistical trends but not individual activities
define system generation (SYSGEN)
process for specific computer
define booting system
starting computer by loading the kernel
define bootstrap program or bootstrap loader
locates the kernel, loads to main memory, starts its execution
define GRUB
open-source bootstrap program for LINUX systems
define boot disk or system disk
disk with partition