Computer System Organization (Chapter 1)
What is the OS responsible for in connection with storage management?
-mounting and unmounting -free space management -storage allocation -disk scheduling -partioning -protection
What is a fixed location?
-when cpu is interrupted it stops what id doing and immediately transfers execution to a fixed location -fixed location usually contains the starting address where the service routine for the interrupt is located
What does an operating system include?
1. always running kernel 2.middleware frameworks that ease application development and provide features 3.system programs that aid in managing the system while its running
what are common secondary storages
1. hard disk drives (HDDs) 2. nonvolatile memory (NVM) devices:which provide storage for both programs and data
interrupt overview
1. important part of computer architecture 2. must be handled quickly because occurs frequently 3.the interrupt routine is called indirectly through the table with no intermediate routine nedded a)table pointers stored in low memory b) location hold addresses of interrupt service routine i)array or interrupt vector of addresses then indexed by a unique number given with the interrupt request ii)UNIX and windows dispatch interrupts like this iii)interrupt architecture must also save the state info after servicing the interrupt
3 key aspects of the system
1. interrupts(alert cpu to events that require attention) 2.storage 3.I/O structure
What two other programs are alongside the kernel?
1. system programs 2.middleware
What two views can the operating system be seen as?
1. user view 2.system view
What is the OS responsible for in connection with process management?
1.creating and deleting both user and system process 2.scheduling processes and threads on the cpus 3.suspending and resuming processes 4providing mechanisms for process synchronization 5providing mechanisms for process communication
What is the OS responsible for in connection with file management?
1.creating and deleting files 2.creating and deleting directories to organize files 3.supporting primitives for manipulating files and directories 4mapping files onto mass storage 5.backing up files on stable (nonvolatile) storage media
What is the OS responsible for in connection with memory management?
1.keeping track of which parts of memory are currently being used and which process is using them 2.allocating and deallocating memory space as needed 3. deciding which processes (or parts of processes) and data to move into and out of memory
A computer system can be divided into four components
1.the hardware 2.operating system 3.application programs 4.user
system view
1.view operating system as a resource allocator, computer system has many resources such as CPU time, memory space, storage space, I/O devices (operating system acts as manager of these resources) 2.OS must figure out how to allocate them to specific programs and users
Personal Area Network (PAN)
A network of devices such as smartphones, notebooks, and tablets using Bluetooth technology
why are priveleged instructions made and what mode can it be executed in?
Because it protects the operating system from dumb users -hardware allows these instructions to be executed only in kernel mode
Interrupt request line
CPU hardware has a wire called interrupt request line that the CPU senses after executing every instruction
Local Area Network (LAN)
Connects a group of computers in close proximity, such as in an office building, school, or home
What does a modern general computer system consists of?
Consists of one or more CPUS and a number of device controllers connected through a bus that provides access between components and shared memory
how does the controller inform the device driver that it has finished its operation?
Interrupt
Program vs. process
Program is passive entity, process is active Program becomes process when executable file loaded into memory
Volatile
RAM is volatile, loses its content when power is turned off or otherwise lost for this reason the computer uses electrically erasable programmable read-only memory (EEPROM) (can be changed but not frequently)and other forms of firmwar
which is slower secondary storage or main memory?
Secondary storage is slower than main memory
Program counter
Single-threaded process has one program counter specifying location of next instruction to execute
Wide Area Network (WAN)
Spans a large geographic area such as a state, province, or country, cities, bulidings
what do we have in our modern hardware?
We have interrupt-controller hardware
what can happen a disk drive?
a medium sized one might be divided into several thousand indiviual unites called disk blocks
general tree
a parent may have an unlimited number of children
what is a program in execution called in a multiprogrammed system?
a process
middleware
a set of software frameworks that provide additional services to application developers example: IOS, google andrioid
bitmap
a string of n binary digits that can be used to represent the status of n items
virtual memory
a technique that allows the execution of a process that is not completely in memory
how to use a timer?
a timer can be set to interrupt the computer after a specified period
what causes a trap?
a trap is a software generated interrupt caused either by an error or by a specific request from a user program
binary tree
a tree in which each node has at most two children.
von neumann architecture
a typical instruction execution cycle as executed on a system with is architecture
protection
any mechanism for controlling the access of processes or users to the resources defined by a computer system
emulation
apart of virtualzation software def: involves simulating computer hardware in software, is typically used when the source cpu type is different from the target cpu type
CPU
automatically loads instructions from main memory for execution from the location stored in the program counter
why do we use direct memory access (DMA) in our I/O structure?
because the form of interrupt-driven I/O for moving small amounts of data but it can produce high overhead when used for bulk data movement such as NVS I/O
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
how is an operating system performed?
by executing a special operation called a system call
how can storage systems be organized?
can be organized in a hiearchy
semiconductor memory
consists of semiconductor based electronic circuits
operating system
controls the hardware and coordinates its use among the various application programs for the various users -AKA provides an environment within which other programs can do useful work
mutlitasking
cpu executes multiple processes by switching among them, switching occurs frequently providing user with fast response time
trees
data structure that can be used to reprensent data hierarchially
User view
designed mostly for ease of use with some attention paid to performance and security NONE to resource utilization -touchscreen -voice recongition
Computers have more devices and interrupt handlers than they have address elements in the interrupt vector one way to solve this problem is to use interrupt chaining. what is interrupt chaining?
each element in the interrupt vector points to the head of a list of interrupt handlers
What does the basic interrupt mechanism allows us to do?
enables the cpu to respond to an asynchronus event, as when a device controller becomes ready for service
RAM (random access memory)
general purpose computers run almost of their programs from rewriteable memory
What triggers the interrupt?
hardware may trigger an interrupt at any time bu sending a signal to the cpu by way of the system bus
timer
if we dont want to get stuck in an infinite loop use a timer
variable timer
implemented by a fixed-rate clock and a counter -os system sets the counter
what does the interrupt mechanism implement?
implements a system of interrupt priority levels
system programs
include all programs not asscoiated with the operation of the system
multiprogramming
increases CPU utilization, as well as keeping users statisfied by organizing programs so that the cpu always has one to excute
network
is a communcation path between two or more systems
queue
is a seuqentially ordered data structure that uses the first in first out (FIFO)
stack
is a seuqentially ordered data structure that uses the last in first out (LIFO) push and pop
virtualization
is a technology that allows us to abstract the hardware of a single computer into several different execution environments
what is another form of interrupt?
is a trap or an exception
device controller
is responsible fo rmoving the data between the peripheral devices that it controls and its local buffer storage
core
is the component that executes instructions and registers for storing data locally
cpu scheduling
is when the system. must choose which process will run next
Application programs
like word processors,spreadsheets, compliers and web browsers-define the ways in which these resources are used to solve computers problems
Metro Area Network (MAN)
link buildings in a city
red black tree
linux uses this as part of its cpu-scheduling algorithm
dynamic-random access memory
main memory is implemented in a semiconductor technology
An operating system is a control program which:
manages the execution of users programs to prevent errors and improper use of the computer -cncerned with operation and control of I/O devices especially
TCP/IP
most common network protocol and provides the fundamental architecture of the internet
load instruction
moves a byte or a word from main memory to an internal register within CPU
store instruction
moves the content of a register to main memory
Most cpu's have 2 interrupt request lines
nonmaskable: reserved for events such as unrecoverable memory erros maskable: it can be turned off by the cpu before the execution of critical instruction sequences that must not be interrupted (used by device controllers to request service)
what is faster nvm or hard disks?
nvm devices are generally faster than hard disks
network operating system
provides features such as file sharing across the network, along with a communication scheme that allows different processes on different computers to exchanges messages
balanced binary search tree
remedy for O(n) case
list
represnts a collection of data values as a sequence common method:linked list
system daeomons
run the entire time the kernel is running
linked list have several types
single double circular
tertiary storage
slow enough and large enough used for special purposes-to store backup copies of material stored on other devices
What are the main differences in storage systems?
speed, size, volatility
firmwar
storage that is infrequently written to and is nonvolatile
hash functions
takes data as its input,performs a numeric operation on the data and returns a numeric value -implements hash maps
hardware
the central processing unit (CPU), the memory and the input/output (I/O) devices (provides the basic computing resources for the system.
Kernel
the one program running at all times on the computer
what does interrupt priority levels enable?
these levels enable the cpu to defer the handling of low-priority interrupts without masking all interrupts and makes it possible for a high priority interrupt to slow the execution of a low priority interrupt.
what is so special about cpu's that support virtualization?
they frequently have a seperated mode to indicate when the virtual machine manager (VMM) is in control of the system -VMM has more priveleges than user processes, but fewer than the kernel
security
to defend a system from external and internal attacks
firewall
to protect their networks from security breaches
Operating systems have a device driver for each device controller. what is a device drive?
understands the device controller and provides the rest of the operating system with a uniform interface to the device. -cpu and device controllers can execute in parallel competing for memory cycles
Cache Coherency
usually a hardware issue handled below operating system level
what is a common way to ensure reasonable response time in a multitasking system?
virtual memory
Interrupt-handler routine
when interrupt request line reads and jumps
network computers(think clients)
which are essentially terminals that understand web-based computing