click below
click below
Normal Size Small Size show me how
Operating System
| Question | Answer | Answer part 2 |
|---|---|---|
| What is an Operating System? | A program that acts as an intermediary between a user of a computer and the computer hardware | |
| What are the goals of an operating system? | -Execute user programs and make solving user programs easier -Make the computer system convenient to use -Use the computer hardware in an efficient manner | |
| The computer system can be divided into what four components: | Hardware Operating System Application Programs Users | |
| Describe Operating Systems as a resource allocator | - It manages all resources - Decides between conflicting requests for efficient and fair use | |
| Describe Operating Systems as a control program | It controls execution of programs to prevent errors and improper use of the computer | |
| The one program running at all times on the computer is ___________. | kernel | |
| ____________ is loaded at power-up or reboot | bootstrap | |
| Where is the bootstrap typically stored? | In firmware | |
| What does the bootstrap do? | -Initializes all aspects of systems -Loads operating system kernel and starts execution | |
| I/O devices and the CPU can execute ____________. | concurrently | |
| Device controller informs CPU that it has finished its operation by causing an ______________ | interrupt | |
| How is an interrupt vector used? | Interrupt transfers control to the interrupt service routine generally, through the interrupt vector. | |
| What information does the interrupt vector contain? | It contains the addresses of all the service routines. | |
| What is a trap/execution? | A software - generated interrupt caused either by an error or a user request | |
| How does the operating system preserve the state of the CPU? | By storing registers and the program counter | |
| List the 2 types of interrupts | Polling Vectored (might have to double check to see if this is true) | |
| What is a system call? | a system call is how a program requests a service from an operating system's kernel. | |
| What does the Device status table contain? | It contains entry for each I/O device status indicating its type, address, and state | |
| What is a bit? | The basic unit of computer storage. | |
| What is a byte? | 8 bits | |
| How many bytes are in: kilobtye megabyte gigabyte terabyte petabyte | KB = 1,024 (one way to remember this is that kilo = 1000) MB = 1,024 to the second power GB = 1,024 to the third power TB = 1,024 to the fourth power PB = 1,024 to the fifth power | |
| _____________ is the only large storage media that the CPU can access directly. | Main memory | |
| What is another word for main memory? | RAM | |
| Main memory is: A. Volatile B. Non - Volatile | A. Volatile | |
| What is secondary storage ? | It is an extension of main memory that provides large non volatile storage capacity | |
| What is a hard disk? | A rigid metal or glass platters covered with magnetic recording material | |
| Hard disk: Disk surface is logically divided into __________, which are subdivided into ___________. | traks sectors | |
| Hard disk: What is the disk controller responsible for? | it determines the logical interaction between the device and the computer. | |
| What is faster than a hard disk and also non volatile? | Solid state disk | |
| What storage is checked first to determine if anything is there | cache | |
| What is Direct Memory Access Structure used for | High speed I/O devices able to transmit information at close to memory speeds. | |
| When using a Direct Memory Asses Structure how is data transfered | The device controller transfers blocks of data from buffer storage directly to main memory without CPU intervention. | |
| When using a Direct Memory Access Structure how many interrupts are generated per block | Only one interrupt is generated per block, rather than the one per byte | |
| What are some advantages to using Multiprocessors | 1. Increased throughput 2. Economy of Scale 3. Increased Reliability | |
| List 2 types of multiprocessors | 1. Asymmetric Multiprocessing 2. Symmetric Multiprocessing | |
| What is a clustered system | When multiple systems work together. | |
| parallel system/tightly - coupled systems | ||
| Define Asymmetric Multiprocessing | Each processor is assigned a specific task. | |
| Define Symmetric Multiprocessing | Each processor performs all task | |
| Clustered Systems: Describe Asymmetric clustering | Has one machine on hot - standby mode | |
| Cluster Systems: Describe Symmetric clustering | Has multiple nodes running application, monitoring each other | |
| What is a clustered system? | When multiple systems work together. | |
| List two Operating System Structures? | 1. Multiprogramming(Batch System) 2. Timesharing (multitasking) | |
| Describe Multi programming(Batch System) | 1. A subset of total jobs in system is kept in memory 2. One job selected and run via job scheduling 3. When it has to wait, OS switches to another job | |
| Describe Timesharing (multitasking) | 1. Response time should be less than 1 second 2. If several jobs can run at the same time using CPU scheduling 3. If processes doesn't fit in memory, swapping moves them | |
| Why is it so important for the operating systems to use dual mode? | Dual mode operation allows OS to protect itself and other system components | |
| List the two modes used in dual mode | User mode Kernel mode | |
| Mode bit is provided by ____________________. | hardware | |
| What is the purpose of the mode bit? | It provides ability to distinguish when system is running user mode or kernel mode. | |
| What is a process? | A program in execution | |
| A program is a ________________ entity | passive active | |
| Process termination requires what? | reclaim of any reusable resources. | |
| What does the program counter do in a single threaded process | specifies location of next instruction to execute. | |
| In a single threaded process, how is the process executed? | Sequentially, one at a time, until completion. | |
| How is the multi threaded process'es program counter different then the single threaded process'es program counter? | The multi- threaded process has one program counter per thread. | |
| What are the operating systems's responsibilities in connection with process management? | 1. Creating and deleting both user and system processes 2. Suspending and resuming process 3. Providing mechanisms for process synchronization 4. Providing mechanisms for process communication 5. Providing mechanisms for deadlock handling | |
| to ___________ a program all or part of it must be in memory | execute | |
| Memory management determines what? | What is in memory and when | |
| What are the responsibilities of memory management? | 1. keep track of which parts of memory are currently being used and by whom. 2. Deciding which processes and data to move into and out of memory. 3. Allocating and deallocating memory space as needed. | |
| In File system management how are files usually organized? | into directories | |
| In File systems what is access control used for. | It determines who can access what. | |
| What are the responsibilities of File Sytem Management? | 1. Creating and deleting files and directories 2. Manipulates files and directories 3. Maps files onto secondary storage 4 Backup files onto (non volatile) storage media. | |
| How does Mass - Storage management store memory | Its usually a disk used to store data that does not fit in main memory or data that must be kept for a long period of time. | |
| What are some responsibilities of Mass - Storage Management? | 1. Free - Space Managment 2. Storage allocation 3. Disk scheduling | |
| What is another name for main memory | ram | |
| list the storage hierarchy going from disk to register: | hard disk -> main memory -> cache -> hardware register | |
| Multiprocessor environment must provide ______ in hardware such that all CPU's have the most recent value in their cache. | cache coherency | |
| What is I/O subsystems responsible for? | 1. memory management 2. General device-driver 3. Drivers for specific hardware devies | |
| Define protection: | Any mechanism for controlling access of processes or users to resources defined by the OS | |
| Define security: | Defense of the system against internal and externeal attacks | |
| What is the importance of portals? | They provide web access to internal systems. | |
| List the various types of User Interfaces: | 1. Command Line Interface 2. Graphical User Interface 3. Batch Interface | |
| What are some Operation System Services that are helpful o the user? | 1. User Interface 2. Program Execution 3. I/O Operations 4. File System Manipulation 5. Communcation 6. Error Dectection 7. Resource allocation 8. Accounting 9. Protection and security | |
| What seperates resource allocation, accounting, protection and security from the other Operating System Service? | They are OS functions that are used to ensure the efficientcy of the operating system itself while the others are more helpful to the user. | |
| What does API stand for? | Application Programming Interface | |
| What are the 3 most common API's? | 1. Win32 for windows 2. POSIX for POSIX based systems (Linux, Mac) 3. Java for Java virtual Machine | |
| How is the System call interface useful? | It maintains a table indexed according to the numbers associated withe each system call. | |
| What does the system call interface do? | It invokes the intended system call in OS kernel and returns status of the system call and any return values | |
| What are the types of system calls? | Process control File management Device management Information maintenance (get or set/ example get time/set time) Communcation protection | |
| System call: List some of the proecess control system calls: | 1. create proces, terminate process 2. end, abort 3. load, execute 4. wait ect.... | |
| System calls: List some of the File management system calls: | 1. creat file, delete file 2. open, close file 3. read, write, reposition 4. get and set file attributes | |
| System calls: List some of the Device management system calls: | 1. request device, release device 2. read, write, reposition 3. get device attributes, set device attributes | |
| List some of the Information maintenance system calls | 1. get time or date, set time or date 2. get system data, set system data | |
| List some of the communication system calls | 1. creat, delete communication connection 2. send, receive messages | |
| List some of the Protection system calls: | 1. Control access to resources 2. Get and set permissions 4. Allow and deny user access | |
| System programs provide a convenient environment for program development and execution. They can be divided into what? | 1. File manipulation 2. Programming language support 3. Status information 4. Programming loading and execution 5. Communications 6. Background services 7. Application programs | |
| When it comes to design and implementation what are the users goals? | Operating system should be convenient to use, easy to learn, reliable, safe and fast. | |
| When it comes to design and implementation what are the system goals? | Operating system should be easy to design, implement, and maintain, as well as flexible, reliable , error free and efficient. | |
| What is the difference between policy and mechanism? | 1. Policy is what will be done/ 2. Mechanism is how it will be done. | |
| The original UNIX operating system had limited structuring. It consisted of 2 parts. What were those parts? | 1. System programs 2. kernel | |
| what is a core dump? | file capturing memory of a process | |
| Where is the boot code held ? | Firmware ROM | |
| Where is the bootstrap loader stored? | In ROM or EEPROM | |
| What does the bootstrap loader do? | It loads into memory and starts it. | |
| Sometimes the __________ loaded by ROM code, which loads __________ from disk | boot block bootstrap | |
| What is a crash dump? | When a portion of a processors data or RAM memory are erroneously copied to one or more files. | |
| What is a process? | A program in execution | |
| Process execution must progress in ____________ fashion | sequential | |
| What is the difference between a program and a process? | A program is passive entity stored on disk. A process is active | |
| When does a program become a process? | When it is loaded into memory | |
| How many processes can a program have? | Several | |
| What is another name for program code? | text section | |
| _________ contains temporary data. | Stack | |
| __________ contains global variables | Data | |
| ____________ contains memory dynamically allocated during run time. | Heap | |
| As a process executes it can change states. What are the states? | 1. New - Process is being created 2. Running - instructions are being executed 3. Waiting - The process is waiting for some event to occur 4. Ready - The process is waiting to be assigned to a processor 5. Terminated - Process has finished. | |
| What is contained in the Process Control Block (PCB)? | task control block - Information associated with each process Process state Program counter CPU registers CPU scheduling information Memory management information Accounting information - CPU used, clock time elasped I/O status | |
| What is the process scheduler responsible for? | 1. it selects among available processes for next execution on CPU. 2. It maintains scheduling queues of proceses | |
| What is another name for the long time scheduler | job scheduler | |
| What is another name for the short time scheduler? | CPU sheduler | |
| What is the difference between the long time scheduler and the short time scheduler? | The long term scheduler selects processes to be brought into ready queue, it can be slow The short term scheduler selects process to be executed next and allocates CPU, it is fast and sometimes the only scheduler in the system. | |
| Processes can be described as either: | 1. I/O bound process 2. CPU bound process | |
| How does the I/O bound process work? | It spends more time doing I/O than computing, many short CPU bursts | |
| How does the CPU bound process work? | It spends more time doing computations, few very long CPU bursts. | |
| When would a medium term scheduler be used? | If degree of multiple programming needs to decrease | |
| Explain the purpose of the context switch? | When CPU swiitches to another process, the system must save the state of the old process and load the saved state for the new process via a context switch | |
| The context switch is a process represented in ____________ | PCB | |
| What happens while context switch is taking place? | The system does no useful work while switching | |
| Processes within a system may be ___________ or ____________ | independent cooperating | |
| What are some reason why cooperating process can be good? | Information sharing Computation speedup Modularity Convenience | |
| What is the one thing that Cooperating processes must have? | Inter process communication (IPC) | |
| List 2 types of inter process communication: | shared memory message passing | |
| ______________ process cannot affect or be affected by the execution of another process | independent | |
| ______________ process can affect or be affected by the execution of another process. | cooperating | |
| What is message passing? | A mechanism for processes to ccommunicate and to synchronize their actions | |
| What happens in the message system (for message passing? | processes communicate with each other without resorting to shared variables. | |
| Give an example of message passing? | If P and Q wish to communicate, they need to establish a communication link between them and exchange messages via send/receive | |
| How is the communication linked implemented in message passing? | Physical - hardware bus, shared memory logical - buffering, direct/indirect, synchronous/asynchronous | |
| What are some of the properties of a communication link? | Links are established automatically A link is associated with exacly one pair of communcating processes Links can be unidirectional or bi directional | |
| How is direct communication established | processes must name each other explicitly: example: send(p,messgae) - send a message to process p example: receive(q,message) receive message from process q | |
| How does indirect communication work? | Message are directed and received from mailbox | |
| What are some of the operations that are done in indirect communication? | Create a new mailbox Send and receive message through mailbox Destroy a mailbox | |
| message passing may be either ___________ or ___________. | blocking non blockin | |
| Message passing: blocking is considered _______________ | synchronoous | |
| Message passing: Non blockin is considered_________________. | asynchronous | |
| Message passing: Describe blocking: | Blocking send has the sender block until the message is received.Blocking receive has the receiver block until a message is available | |
| message passing: Describe non blocking: | non blocking send has the sender send the message and continue. Non blocking receive has the receive receive a valid message or null. | |
| Google Synchronization | ||
| What is buffering? | Queue of message attached to the link | |
| In what 3 ways is buffering implemented? | zero capacity bounded capacity unbounded capacity | |
| what is zero capacity | zero messages sender must wait for receiveer | |
| what is bounded capacity | finity length of n messages sender must wait if link full | |
| what is unbounded capacity | infinit length sender never waits. | |
| What is a socket? | it is defined as an endpoint of communication. | |
| What is a pipe? | It acts as a conduit allowing two processes to communicate. | |
| What are some reasons to use threads? | Most modern applications are multithreaded threads run within applications process creation is heavy weight while thread creation is light weight can simplify code, increase efficiency kernels are generally multithreaded | |
| What are some benefits of threading | Responsiveness Resource sharing economy - cheaper scalability | |
| What does parallelism imply? | a system can perform mroe than one task simultaneously | |
| ___________ supports more than one task makig process. | concurrency | |
| List the 2 types of parallelism: | Data parallelism task parallelism | |
| how does data parallelism work? | It distributes subsets of the same data across multiple cores, same operation on each. | |
| How does task parallelism work? | It distributes threads across cores, each thread performing unique operation. | |
| What is the difference between concurrency and paralleilsm? | concurrent execution happens on single core systems. parallelism happens on multi core systems | |
| What is the purpose of Amdahl's Law | It identifies performance gains from adding additional cores to an application that has both serial and parallel components | |
| __________ may be provided either as user - level or kernel - level. | pthreads | |
| What is the purpose of a thread pool? | It creates a number of threads in a pol where they wait work. | |
| What are some of the advantages of using a thread pool? | It is usually slightly faster to service a request with existing thread than create a new thread Allos the number of threads in the applications to be bound to the size of the pool Separates task to be performed from mechanics of creating task. | |
| What are signals used in UNIX for? | They are used to notify a process that a particular event has occurred. | |
| What is a signal handler used for? | To process signals | |
| What is thread cancellation | Terminating a thread before it has finished | |
| What are two general approaches to thread cancellation? | Asynchronous cancellation Deffered cancellation | |
| What happens in asynchronous cancellation? | target thread is terminated immediately | |
| What happens in Deffered cancellation? | deffered cancelation allows the target thread to periodically check if it should be cancelled | |
| What happens in thread - local storage? | Thread - local storage (TLS) allows each thread to have its own copy of data. | |
| When is thread local storage useful? | When you do not have control over thread creation. | |
| What is a CPU -I/O Burst cycle | Process execution consists of a cycle of CPU execution and I/O wait. | |
| What is the purpose of a CPU scheduler? | It selects from among the processes in memory that are ready to execute, and allocates the CPU to one of them. | |
| When can a CPU scheduling decision take place?which are non preemptive and which are preemptive | 1. swtiches from running to waiting state 2. switches from running to ready state 3. Switches from waiting to ready 4. terminates 1 and 4 are non preemptive the others are preemptive | |
| ________ module gives control of the CPU to the process selected by the short-term scheduler | dispatcher | |
| What is the scheduling criteira | CPU utilization throughput turnaound time waiting time response time | |
| what is the CPU utilization? | keep the CPU as busy as possible | |
| what is throughput | # of processes that complete their execution per time unit | |
| what is turnaround time | amount of time to execute a particular process | |
| What is waiting time | amount of time a process has been waiting in the ready queue | |
| What is response time | amount of time it takes from when a request was submitted until the first response is produced, not output | |
| What is the scheduling Algorithm Opitmization? | Max CPU utilization Max throughput Min turnaround time Min waiting time Min response time | |
| What is first come first served | processes arrive and are completed in sequential order | |
| What is shortest job first | Associated with each process the length of its next CPU bursts. use these lengths to schedule the process with the shortest time | |
| Why is shortest job first optimal? | It gives minimum average waitng time for a given set of processes | |
| What is the set back with shortest job first? | It is difficult to know the length of the next CPU request. | |
| How is proirity scheduling different from the other scheduling algorithms? | A priority number is associated with each process | |
| Is prority scheduling preemptive or non preemptive | priority scheduling can be both premptive or non preemptive | |
| ___________ is a priority scheduling where priority is the predicted next CPU burst time. | shortest job first | |
| What are some issues and solutions with priority scheduling? | Problem: Starvation - low priority processes may never execute Solution:Aging - as time progresses increase the priority of the process | |
| What is round robin? | Each process gets a small unit of CPU time and they are executed in order like first come first serve | |
| What happens in multilevel que? | Ready queue is partitioned into separate queues. Each queue has its own scheduling algorithm | |
| In multilevel que what is a time slice? | each queue gets a certain amount of CPU time which it can schedule amonst its processes | |
| In ____________ there is a distinction between user-level and kernel - level threads. | thread scheduling | |
| In ___________ API allows specifying either PCS or SCS during thread reation | Pthread scheduling | |
| Read section abuot background chapter 5 | ||
| When a process is in its critical section ___________________ | no other may be in its critical section. | |
| What are three solutions to the critical section problem? | 1. Mutual Exclution 2. Progress 3. Bounded waiting | |
| What is mutual exelcution? | If a process is executing in its critical section, it doesnt allow any other process to execute in there critical section | |
| What happens in progress? | If no process is executing in its critical section and there exist some processes that wish to enter their critical section, then the selection of the process that will enter the critical section next cannot be postponed indefinitly | |
| Read on bounded waiting and then fill this section out/ | ||
| What is preemptive? | Allows preemption of process when running in kernel mode | |
| what is non preemptive | Runs until exits kernel mode, blocks, or voluntarily yields CPU. | |
| Read on mutex lock | ||
| read semaphore | ||
| What is a deadlock? | two or more processes are waiting indefinitely for an even that can be caused by only one of the waiting processes. | |
| What is priority inversion | Scheduling problm when lower priority process holds a lock needd by higher prioority process | |
| how to you solve the priority inversion problem | priority inheritance | |
| read bounded buffer problem | ||
| read readers/writers prboelm | ||
| List some classical problems of synchronization | 1. bounded buffr problem 2. readers and writers problem 3. Dining philosphers problem | |
| A deadlock can arise if which four conditions hold simultaneously? | Mutual exclusion Hold and wait No preemption circular wait | |
| What is mutual exclusion? | When only one process at a time can use a resource. | |
| Deadlock: What is hold and wait? | A process holding at least one resource is waiting to acquire additional resources held by other processes | |
| Deadlock: What is No preemption? | A resource can be released only voluntarily by the process holding it, after that process has completed its task. | |
| What is circular wait? | There exists a set {p0,p1.....,pn} of waiting processes such that p0 is waiting for a resource that is held by p1,p1 is waiting for a resource that is held by p2 etc.... | |
| ____________ can occur via system calls, locking, etc. | deadlocks | |
| Read on Deadlock Prevention | ||
| What does Deadlock prevention techniques are applied to mutual exclusion? | Not required for sharable resources; must hold for nonsharable resources. | |
| What does Deadlock prevention techniques are applied to Hold and Wait? | Must guarantee that whenever a process requests a resource, it does not hold any other resources. | |
| What does Deadlock prevention techniques are applied to no preemption? | If a process that is holding some resources requests another resource that cannot be immediately allocated to it, then all resources currently being held are release. Preempted resources are added to the list of resources for which the process is waiting | |
| What does Deadlock prevention techniques are applied to circular wait? | impose a total ordering of all resource types, and require that each process requests resources in an increasing order of enumeration. | |
| read up on safe state | ||
| If a system is in a saft state _____________ | no deadlocks | |
| if a system is in an unsafe state _______________ | possibility of deadlock | |
| ______________ensure that a system will never enter an unsafe state. | Avoidance | |
| read on deadlock avoidance | ||
| Read up on Banker's Algorithm | ||
| Read up on Safety Algorithm | ||
| Read up on Request Algorithm | ||
| Read up on Deadlock Detection | ||
| Read up on Detection Algorithm | ||
| _______________ and _______________ are the only storage CPU can access directly. | Main memory Registers | |
| ________ access in one CPU clock (or less). | Register | |
| ________ can take many cycles, causing a stall | Main memory | |
| ___________ sits between main memory and CPU registers. | Cache | |
| What defines the logical address space? | base and limit registers | |
| _________ must check every memory access generated in user mode to be sure it is between base and limit for that user. | CPU | |
| Programs on desk, ready to be brought into memory to execute from an ___________. | input queue | |
| Address binding of instructions and data to memory addresses can have which 3 different stages? | 1. Compile time 2. Load time 3. Execution time | |
| The concept of a logical address space that is bound to a separate ______________ is central to proper memory management. | physical address space | |
| What is another name for logical address | virtual address | |
| Logical address is generated by what? | CPU | |
| Physical address is seen by what? | The memory unit | |
| When are logical and physical address the same? | compile time and load time | |
| When do logical and physical address differ? | execution time | |
| What is logical address space? | It is the set of all logical addresses generated by a program | |
| What is physical address space? | It is the set of all physical addresses generated by a program | |
| What is memory management Unit? | hardware device that at run time maps virtual to physical address | |
| The user program deals with _______________; it never sees the real ______________. | logical addresses physical addresses | |
| When does execution time binding occur? | It occurs when reference is made to location in memory. | |
| What is static linking? | A system libraries and program code combined by the loader into the binary program image | |
| What is dynamic linking? | linking postponed until execution time | |
| What is a stub? | it is a small piece of code, used to locate the appropriate memory - resident library routine. | |
| What is dynamic linking particularly useful for? | libraries | |
| A process can be _____________ temporarily out of memory to a backing store, and then brought back into memory for continued execution. | swapped | |
| What is the backing store? | fast disk large enough to accommodate copies of all memory images for all users; must provide direct access to these memory images. | |
| What is roll out, roll in? | Swapping variant used for priority - based scheduling algorithms; lower - priority process is swapped out so higher - priority process and can loaded and executed. | |
| What is a major part of swap time? | transfer time | |
| System maintains a _____________ of ready - to - run processes which have memory images on disk. | ready queue | |
| What happens if the next process to be put on the CPU is not in memory? | It needs to swap out a process and swap in a target process | |
| _________ can't swap out as I/O would occur to wrong process. | Pending I/O | |
| read up on double buffering | ||
| swapping on mobile systems is __________________ | not typically supported | |
| why is swapping on mobile systems not supported? | small amount of space limited number of write cycles poor throughput between flash memory and CPU on mobile platform | |
| What methods can you use to free memory on mobile systems without swapping? | asks apps to voluntarily relinquish allocated memory | |
| Main memory usually has two partitions. What are they? | Resident Operating System User processes | |
| Where is Resident operating system usually held? | In low memory with interrupt vector | |
| Where is User processes usually held? | In high memory | |
| Why are relocation registers used? | They are used to protect user processes from each other, and from changing operating system code and data. | |
| read on transient | ||
| What is first fit | Allocates the first hole that is big enough | |
| How do you solve the dynamic storage allocation problem? | 1. First fit 2. Best fit 3. Worst fit | |
| Define Best fit: | Allocates the smallest hole that is big enough; must search entire list, unless ordered by size | |
| What is the benefit for using best fit? | It produces the smallest leftover hole | |
| Define Worst fit: | Allocate the largest hole; must also search entire list. | |
| Why is it not good to use the worst fit | Produces the largest leftover hole. | |
| What is external fragmentation? | total memory space exists to satisfy a request, but it is not contiguous | |
| Define Internal Fragmentation? | Allocated memory may be slightly larger than requested memory; this size difference is memory internal to a partition, but not being used. | |
| How do you reduce external fragmentation? | by compaction | |
| google compaction | ||
| What is segmentation? | A memory managment scheme that supports user view of memory. | |
| A program is a collection of ___________. | segments | |
| Give an example of a segment that is a logical unit? | 1. Main program 2. procedure 3. Function 4. Method 5. Arrays 6. Stack | |
| A logical address consists of two tuples what are they? | segment number, offset | |
| What is a segment table? | A table that maps two dimensional physical addresses | |
| What are the segment table entries | base limit | |
| Segment table define base: | Contains the starting phsical address where the segments reside in memory | |
| Segment table: Define Limit | Specifies the length of the segment | |
| What is the purpose of the Segment table base register (STBR) | It points to the segments table's location in memory | |
| What is the purose of the segment table length register (STLR) | It indicates number of segments used by a program | |
| Read up on paging | ||
| A page table consist of what? | page number page offset | |
| Paging: How is the page number used? | It is used as an index into a page table which contains base address of each page in physical memory | |
| Paging: How is the page offset used? | It is combined with base address to define the physical memory address that is sent to the memory unit | |
| Where is the page table kept? | In main memory | |
| what does the page table base (PTBR) register do? | points to the page table | |
| What does the length register (PTLR) do? | Indicates size of the pagetable | |
| google associative memory | ||
| What does an address - space identifiers (ASID) do? | In each TLB entry - it uniquely identifies each process to provide address space protection for that process. | |
| How is memory protection implemented? | By associating protection bit with each frame to idicate if read - only or read - write access is allowed. | |
| _________________ bit are attached to each entry in the page table. | valid - invalid | |
| What does the valid bit indicate? | That the associated page is in the process logical address space, and is thus a legal page | |
| What does the invalid indicate? | That the page is not in the process locigcal address space | |
| What is a sparse | Where memory references are non contiguous and scattered | |
| google inverted page table | ||
| What do IA - 32 Architecture support | both segmentation and segmentation with paging | |
| 32 bit address limites led intel to create what? | A page address extension | |
| What is vitural memory | The seperation of user logical memory from physical memory | |
| What are some of the reason why a user would use virtual memory? | Only part of the program has to be in memory for execution Logcial address can therfore be much larter then physical address space. Allows address space to be charged with several processes Allows for more effieicnet process creatian | |
| What is a virtual address space? | A logical view of how process is stored in memory | |
| Virtual memory can be implemented through what? | Demand Paging Demand segementation | |
| What is resident memory? | Permanently in memory. Normally, a computer does not have enough memory to hold all the programs you use. When you want to run a program, therefore, the operating system is obliged to free some memory by copying data or programs from main continued... | memory to a disk This process is known as swapping. Certain programs, however, can be marked as being memory resident, which means that the operating system is not permitted to swap them out to a storage device; they will always remain in memory. |
| What is associated with each page table entry? | A valid/invalid bit (i or v) | |
| What is a page fault? | A page fault (sometimes called #PF or PF) is a type of interrupt, called trap, raised by computer hardware when a running program accesses a memory page that is mapped into the virtual address space, but not loaded in physical memory | |
| What is difference between demand paging n pure demand paging? | In demand paging, a page is not loaded into main memory until it is needed. In pure demand paging, even a single page is not loaded into memory initially. Hence pure demand paging causes a page fault. | |
| What is demand paging? | Demand paging is a form of virtual memory, where a page of memory will be paged in if a program tries to access it and the page is not already in the main memory. | Therefore, demand paging only loads pages that should be brought into real memory during the execution process, it does not need to swap all the memory for a process from the secondary memory to the main memory during the program start up. |
| _________ never brings a page into memory until it is required. | pure demand paging | |
| Copy-on-Write allows what: | It allows both parent and child processes to initially share the same pages in memory. | |
| In general, free pages are allocated from a ___________ of ______________ pages | Pool Zero - fill - on demand | |
| What is vfork() | A special case clone | |
| What is vfork() used for? | It is used to create new processes without copying the page tables of the parent process | |
| What is a fork()? used for? | to create a process. | |
| What is the purpose of fork()? | The purpose of fork() is to create a new process, which becomes the child process of the caller | |
| What happens if there is no free frame | ||
| How do you prevent the over allocation of memory? | by modifying pages fault service routine to include page replacement. | |
| How do you reduce page transfers | Use modify bit (also known as a dirty bit) only modified pages are written to disk | |
| What is a dirty bit | A dirty bit or modified bit is a bit that is associated with a block of computer memory and indicates whether or not the corresponding block of memory has been modified. | |
| What is a victim frame? | ||
| Frame allocation algorithm determines what? | -How many frames each process. Which frames to replace | |
| What is the goal of the page replacement algorithm? | to get the lowest page fault rate on both first access and re - access | |
| Review slide 32,34,35 chapter 9 | ||
| What is belady's anomaly? | Bélády's anomaly is the name given to the phenomenon where increasing the number of page frames results in an increase in the number of page faults for a given memory access pattern. | |
| What is a reference bit? | ||
| What is the second chance algoritm | Generally FIFO, pluse hardware- provided reference bit | |
| What does the lease frequently used (LFU) Algorithm do? | Replaces page with smallest count | |
| google most frequently used (MFU) Algorithm | ||
| What is raw disk? | The term raw disk refers to the accessing of the data on a hard disk drive (HDD) or other disk storage device or media directly at the individual byte level instead of through its filesystem as is usually done. | |
| What is thrashing? | In a virtual storage system (an operating system that manages its logical storage or memory in units called pages), continued... | , thrashing is a condition in which excessive paging operations are taking place. A system that is thrashing can be perceived as either a very slow system or one that has come to a halt. |
| Memory - mapped files allows what? | I/O to be treated as routine memory access by mapping a disk block to a page in memory. | |
| What is a slab | one or more physically contiguous pages | |
| _____________ consists of one or more slabs | cache | |
| _____________ provides a bulk of secondary storage of modern computers | magnetic disk | |
| How fast does a magnetic disk drives rotate | 60 to 250 times per second | |
| What is the transfer rate | The rate at which data flow between drive and computer | |
| What is position time (random access time)? | It is time to move disk arm to desired cylinder (seek time) and time for desired sector to rotate under the disk head (rotational latency) | |
| Head creash result from what? | from disk head making contact with the disk surface -- That’s bad | ` |
| _______________ in computer uses bus to talk to ____________ built into drive or storage array | Host controller Disk controller | |
| Access Latency = what? | Average access time | |
| Average access time = what? | average seek time + average latency | |
| List some characteristics of a Solid State Disk: | Nonvolatile memory used like a hard drive Can be more reliable than HDDs More expensive per MB Maybe have shorter life span Less capacity But much faster No moving parts, so no seek time or rotational latency | |
| List some characteristics of magnetic tape | Was early secondary -storage meduim Relatively permanent and holds large quantities of data Access time slow Random access 1000 times slower than disk Mainly used for backup | |
| __________ are addressed as large 1 - dimensional arrays of logical blocks, where the logical block is the smallest unit of transfer | disk drives | |
| lookup disk scheudling | ||
| What is disk bandwidth | The total number of bytes transferred, divided by the total time between the first request for service and the completion of the last transfer | |
| What is low - level formatting/physical formatting | It divides a disk into sectors that the controller can read and write | |
| What is logical formatting | making a file system | |
| Where is the bootstrap loader program stored? | In boot blocks of the boot partition | |
| google sector sparing | ||
| Define swap space | When virtual memory uses disk space as an extension of main memory | |
| _______ can be seperated from a disk partition. | swap space | |
| What does the kernel use swap maps for | To track swap space use | |
| What does raid stand for | Redundant array of inexpensive disks | |
| What does raid structure do to mean time to failure | It increases it | |
| define mean time to repair | It is exposure time when another failer coudl cause data loss | |
| ____________ uses a group of disks as one storage unit | Disk striping | |
| Disk write can have 1 of 3 outcomes.List them | Seccessful completion Partial Failure Total Failure | |
| What happens in successful completion? | The data is written correctly on disk | |
| What happens in partial failure? | A failure occrured in the misdt of transfer | |
| What happens in total failure? | The failure occurred before the disk write started | |
| list some file operations? | File is an abstract data type Create Write – at write pointer location Read – at read pointer location Reposition within file - seek Delete Truncate | Open(Fi) – search the directory structure on disk for entry Fi, and move the content of entry to memory Close (Fi) – move the content of entry Fi in memory to directory structure on disk |
| What data is needed to manage open files | Open file table File pointer File open count Disk allocation of the file Access rights | |
| What does Open file table do? | Tracks open files | |
| What does file pointer do? | It is a pointer to last read/write location, per process tha has the file open | |
| What is file open count? | counter of number of times a file is open | |
| What does disk location of the file provide | cache of data access information | |
| What is the directory structure | A collection of nodes containing information about all files | |
| google general purpose file system | ||
| What operations are performed on directory? | Search for a file Create a file Delete a file List a directory Rename a file Traverse the file system | |
| The directory is organized logically to obtain: | Efficiecny - locating a file quickly Naming - convenient to use Grouping - logical grouping of files by properties | |
| A file system must be __________ before it can be accessed | mounted. | |
| __________ resides on secondary storage (disks) | file system | |
| A file structure consist of | logical storage unit Collection of related information | |
| File control block is a storage structure consisting of what? | information about the file. | |
| What does the device driver control | the physical device | |
| How is a file system layered? | 1. application programs 2. logical file system 3. file organization module 4. basic file system 5 I/O control 6. devices | |
| What does the device driver manage? | I/O devices | |
| What is the basic file system given? | commands that translate to device driver | |
| What is the file organization module used for | understanding files, logical address and physical blocks | |
| What does the logical file system manage | metadata information | |
| Boot control block contains what? | info needed by system to boot OS from the volume | |
| Volume control block (superblock, master file table) contains what? | contains volume details | |
| File control block contains what? | many details about the file | |
| Virtual File system provide what? | an object oriented way of implementing file systems | |
| Directories can be implemented using? | linear list hash table |