Quiz 1 Flashcards
What are the three main purposes of an operating system?
1 Execute user programs and make solving user problems easier
2 Make the computer system convenient to use
3 Use the computer hardware in an efficient manner
What is the 4 components of a Computer System’s Structure?
Hardware, Operating System, Application Programs, Users
What are some Roles of the OS?
Referee-Allocates resources, Isolates users and apps, communicates between users and apps
Illusionist-Each app seems to have the entire machine to itself
What are the main services that the OS provides?
Program execution, I/O operations, File Systems, Communication, Resource Allocation, Accounting, Error Detection, Protection and Security
What are the different types of User Interfaces an OS would have to deal with?
GUI, Touch Screen, Command Line
What does the Command Line Interpreter do?
Takes in direct key inputs from keyboard and displaces results in a terminal or shell.
What does a GUI do?
Its a user friendly desktop interface. Modern computer types
What are system calls?
Programming interfaces to the services provided by the OS.
How are system calls typically implemented?
Through a table which has each call indexed by number.
What are the 3 general methods to pass parameters to the OS?
1 Pass the parameters in registers.
2 Parameters stored in a block or table in memory, address of block passed as a parameter in a regiser
3 Parameters pushed onto the stack by the program and popped off by the OS
What are the types of system calls?
Process Control, File Management, Device Management, Information Maintenance(Date and Time), Communications, Protection
What are the services the system provides?
File manipulation, Status information, Programming language support, Program loading and execution, Communications, Background Services, Application Programs
What is the purpose of System Services?
Provide a convenient environment for program development and execution.
What is a shell?
A job control system
Allows the programmer to create and manage a set of programs to do some task.
What are the User goals of an OS?
The OS should be convenient to use easy to learn, reliable, safe and fast
What are the System goals of an OS?
Operating systems should be easy to design, implement and maintain as well as flexible, reliable, error-free and efficient
How are OS implements in the modern day?
Lowest levels in assembly, main body in C, various systems programs in C, C++ PERL and Python
Emulation allows for?
OS to run on non-native hardware.
What are the various ways to structure an OS?
Monolithic-One big program
Microkernels-Very small kernel most processes done in user space
Modular-OS has loadable kernel modules
What are the benifits and downsides of MicroKernels?
Benefits: Easy to extend, Easy to port, More reliable, More secure
Detriments: Performance overhead of user space to kernel space communication
What are the benefits to Modules?
Benefit: Save memory, Faster to maintain and debug, Modules are loaded as fast as kernels
What is the system structure of Linux?
Monolithic plus modular design
What is a Process?
A program in execution.
What are the parts of a process?
The program code ie text section, current activity, stack, data section, heap.
What is contained in the stack?
Function parameters, return addresses, local variables.
What is contained in the data section?
Global variables
What is contained in the heap?
Memory dynamically allocated during run time.
What does the virtualized processor do?
Give the process the illusion that it monopolizes the system.
What does virtual memory do?
Lets the process allocate and manage memory as if it owned all the memory in the system.
What are instructions?
The fundamental unit of work.
What are the 5 states of a process?
New, Running, Waiting, Ready, and Terminated
What does the Process Control Block hold?
Information associated with each process.
What selects among available processes for the next execution on a GPU core?
The Process Scheduler
What is a context switch?
What occurs when the CPU switches from one process to another.
How are processes identified?
With their PID or process identifier
What are the two models of Interprocess Communication?
Shared Memory and Message Passing
What is shared memory communication?
When a single area of memory is shared among the processes that are communicating.
What is the major issue to deal with with shared memory communication?
Synchronizing the user processes with each other.
What is the paradigm for cooperating processes?
The Producer-Consumer Model
What are the two variations of the Producer-Consumer Problem?
Unbounded-buffer and Bounded-Buffer
What are pipes?
Conduits allowing for two processes to communicate
What are the two pipes?
Ordinary Pipes, and Named Pipes (Not needed to be accessed with a Parent Child Relationship)
What is a socket?
An endpoint for communication.
What are stubs?
Client-side proxy for actual procedures on a server