CSE 330 Exam 1
Operating System
-Controls and coordinates use of hardware among various applications and users -Interrupt-driven
Process Management Activities
-Creating and deleting both user and system processes -Suspending and resuming processes -Providing mechanisms for process synchronization -Providing mechanisms for process communication -Providing mechanisms for deadlock handling
Operating System Goals
-Execute user programs and make solving user problems easier -Make the computer system convenient to use -Use the computer hardware in an efficient manner
Memory Management Activities
-Keeping track of which parts of memory are currently being used and by whom -Deciding which processes (or parts thereof) and data to move into and out of memory -Allocating and deallocating memory space as needed
Bootstrap Program
-Loaded at power-up or reboot -Typically stored in firmware -Initializes al aspects of the system -Loads operating system kernel and starts execution
Resource Allocator
-Manages all resources -Decides between conflicting requests for efficient and fair resource use
Process
-Program in execution -Active Entity
Direct Memory Access Structure
-Used for high-speed I/O devices able to transmit information at close to memory speeds -Device controller transfers blocks of data from buffer storage directly to main memory without CPU intervention -Only one interrupt is generated per block, rather than the one interrupt per byte
Hardware, Operating System, Application Programs, and Users
4 Components of the Computer
Jobs
A batch system executed by the operating system
Process
A program in execution; execution must progress in sequential fashion
Operating System
A program that acts as an intermediary between a user of a computer and the computer hardware.
I/O operations
A running program may require I/O, which may involve a file or an I/O device
User programs/tasks
A time-shared system executed by the operating system
Pipes
Acts as a conduit allowing two processes to communicate
Dual-mode operation
Allows OS to protect itself and other system components
Virtual Memory
Allows execution of processes not completely in memory
Communication Link
Allows two process to communicate with one another
Privilege escalation
Allows user to change to effective ID with more rights
Protection
Any mechanism for controlling access of processes or users to resources defined by the OS
Bounded-buffer
Assumes that this a fixed buffer size
Named Pipes
Can be accessed without a parent-child relationship. Provided on both UNIX and Windows systems
Independent Processes
Cannot affect or be affected by the execution of another process
Ordinary Pipes
Cannot be accessed from outside the process that created it. Typically, a parent process creates a pipe and uses it to communicate with a child process that it created.
Stubs
Client-side proxy for the actual procedure on the server
Grub
Common bootstrap loader that allows a section of kernel from multiple disks, versions, or kernel options
Device-status Table
Contains entry for each I/O device indicating its type, address, and state
Data section
Contains global variables of a process
Heap
Contains memory dynamically allocated during run time
Stack
Contains temporary data of process: function parameters, return addresses, and local variables
Control Program
Controls execution of programs to prevent errors and improper use of the computer
Caching
Copying information into faster storage system; main memory can be viewed as a cache for secondary storage
Security
Defense of the system against internal and external attacks
Application Programs
Define the ways in which the system resources are used to solve the computing problems of the users -Word processors, compilers, web browsers, database systems, video games
Socket
Defined as an endpoint for communication. Concatenation of IP address and Port
Polling/vectored interrupt system
Determines which type of interrupt has occurred
Executable File
Disk that stores passive entity (program); process is active
Asymmetric Multiprocessing
Each processor is assigned a specific task
Symmetric Multiprocessing
Each processor performs all tasks
Secondary storage
Extension of main memory that provides large nonvolatile storage capacity
Solid-state disks
Faster than hard disks, nonvolatile
Performance Tuning
Improve performance by removing bottlenecks
Non-blocking
Is considered asynchronous where the sender or receiver is able to send and receive messages
Blocking
Is considered synchronous where the sender or the receiver is blocked
UNIX
Limited by hardware functionality. Consists of two separable parts: System programs and the kernel
Time-Sharing
Logical extension in which CPU switches jobs so frequently that users can interact with each job while it is running, creating interactive computing
Ports
Mailboxes form which messages are directed and received
Microkernel System
Moves as much from the kernel into user space.
Multiprogramming (Batch system)
Needed for efficiency
Sysgen Program
Obtains information concering the specific configuration of the hardware system
Main Memory
Only large storage media that the CPU can access directly
Layered Approach
Operating systems divided into layers. Starts at bottom layer(hardware) and goes up to user interface
Program
Passive Entity
Users
People, machines, other computers
Profiling
Periodic sampling of instruction pointer to look for statistical trends
Unbounded-buffer
Places no practical limit on the size of the buffer
Cooperating Processes
Process can affect of be affected by the execution of another process
Communication
Processes may exchange information, on the same computer or between computers over a network
Text Section
Program code of a process
Hardware
Provides basic computing resources -CPU, memory, I/O devices
Device Driver
Provides uniform interface between controller and kernel
Matchmaker
Rendezvous service to connect client and server
System Call
Request to the OS to allow user to wait for I/O completion
Hard Disk
Rigid metal or glass platters covered with magnetic recording material
Trap/Exception
Software-generated interrupt caused either by an error or a user request
Loopback
Special IP address to refer to system on which process is running
-Speed -Cost -Volatility
Storage Hierarchy
File-system manipulation
The file system is of particular interest. Programs need to read and write files and directories, create and delete them, search them, list file Information, permission management.
Program Execution
The system must be able to load a program into memory and to run that program, end execution, either normally or abnormally (indicating error)
Convenience, ease of use, and good performance
What do users want operating systems to do?
MS-DOS
Written to provide the most functionality in the least space -Not divided into modules