Use LEFT and RIGHT arrow keys to navigate between flashcards;
Use UP and DOWN arrow keys to flip the card;
H to show hint;
A reads text to speech;
35 Cards in this Set
- Front
- Back
Four components of a conputer system |
Complier, assembler, text editor and database system |
|
Os goals |
Efficient management of the hardware, Makes computer more convienent to use for end user, Make problem solving easier for programmers |
|
What is dual mode? |
Dual mode operation allows OS to protect itself and other system components. The 2 modes are user mode and kernel mode |
|
What is mode bit? |
It provides the ability to distinguish when system is running user or kernel code. Some instructions are desginatd as priveleged which is only in kernel mode |
|
What is system call? |
It is a programming interface to the services provided by the OS, typically written in a high level language |
|
What is layered structure? List its benefits and drawbacks |
It is divided in layers/levels that uses modularity so that each layer uses funcrions and services of lower-level layers. Benefits: modular so it is simple to construct and debug, high level interfaces are easier to program Drawbacks: too many layers increase performance overhead, lower levels are difficult to extend |
|
Microkernel structure |
It aims to provide communicarion facility between client program and services running in user space. Communication takes place between user modules using message passing. Client and service never interact directly, they communicate exchanging msgs with the microkernel |
|
Benefits and drawbacks of microkernel |
Benefit: Easier to extend, easier to port OS with new architecture, more reliable Drawback: performance overhead of user space to kernel space communication |
|
Dynamic (loadable module) structure |
Uses object oriented approach, each core component is seperated and talks over known interfaces, each loadable as needed within kernel |
|
PCB/Process control block |
Stores information associated with each process (task control block) |
|
Program counter |
Location of next executable instruction |
|
CPU register |
Contents of all processes centric registers |
|
Context switch |
Context switch is used when CPU switches to another process by saving the state of the old process ans loads the saved state for the new process. The context of a process represented in the PCB |
|
Pipes |
Allow communication in standard producer-consumer style. Producer writes to one end, consumer reads the other end. Pipes are unidirectional and require a parent-child relationship |
|
Responsiveness |
May allow continued execution if part of process is blocked |
|
Resource Sharing
|
threads share resources of processes, easier than shared memory or message passing |
|
Economy |
Cheaper than process creation, thread switching lower overhead than context switch |
|
Scalability |
Process can take advantage of multiprocessor architectures |
|
Counting semaphore |
Int value over unrestricted domain |
|
Binary semaphore |
int ranger over 0-1 (same as a mutex) |
|
Deadlock- |
2 or more processes wait indefinitely for an event that can be caused by 1 of the waiting process |
|
CPU Scheduling |
max CPU utilization obtained with multiprogramming |
|
CPU Scheduling criteria |
CPU Utilization - keep CPU as busy as possible Throughput - no. of processes that complete execution per time unit Turnaround time - amount of time to execute a particular process Waiting time - amount of time a process has been waiting in the ready queue Response time - amount of time it takes from a request submission to first response |
|
Address space of a process |
CPU must check if every memory access generated in user mode to be sure it is between base and limit for that user |
|
Contiguous Allocation |
An early method that suffers from fragmentation issues where 1/3 may be wasted |
|
Segmentation |
Memory management scheme that supports user view of memory |
|
Segmentation Architecture |
Logical address consists of 2 tuples eg <segmentation no. , offset> Segment table: maps 2D physical addresses that each have: base - contains starting physical address where segments reside in memory limit - specifies length of segment |
|
Paging |
Physical address space of a process can be noncontiguous Avoids external fragmentation and avoids problem of varying sized memory chunks |
|
Contiguous File allocation method
|
Each file occupies set of contiguous blocks |
|
Linked file allocation |
Each file is in a linked list of blocks |
|
Indexed file allocation |
Eachfile has its own index block(s) of pointers to its data blocks |
|
Sector |
Smallest addressable unit, usually 512B in size |
|
Cylinder |
Set of tracks wthich can be accessed without moving arm |
|
PORT |
connection for device |
|
Blocks |
I/O transfer disk and memory are in units of blocks |