Operating Systems Chapter 2 Review
What is a GUI? Gives some useful features provided by a GUI.
- A GUI is a user-friendly desktop metaphor interface. - Usually mouse, keyboard, and monitor. - Icons represents files, programs, actions, etc. - Various mouse buttons hovering over objects in the interface cause various actions.
Describe the process of OS debugging.
- Debugging is finding and fixing errors, or bugs. - OS' generate log files containing error information. - Failure of an application can generate core dump file containing core memory of the process. - OS failure can generate crash dump file containing kernel memory. - Beyond crashes, performance tuning can optimize system performance.
Describe Virtualization Implementation.
- Difficult to implement: must provide an exact duplicate of underlying machine. Typically runs in user mode, creates virtual user mode and virtual kernel mode. - Timing can be an issue: slower than the real machine - Hardware support needed. More support = better virtualization.
Give some examples of features provided by System Programs.
- File management: Create, delete, copy, rename, dump, list, and generally manipulate files and directories. - Status information: Typically, these programs format and print the output (info, date, time, detailed performance) to the terminal or other output devices. - File modification: text editors - Programming-Language support: compilers, assemblers, debuggers and interpreters. - Program loading and execution: absolute loaders, relocatable loaders, linkage editors. - Communications: provide mechanism for creating virtual connections among processes.
Where did VMs first appear? What are benefits of VMs?
- First appeared in IBM mainframes in 1972. Benefits: - multiple execution environments can share the same hardware - protect from each other - some file sharing can be permitted, controlled - useful for development, testing - Consolidation of many low-resource systems onto fewer busier systems. - "Open Virtual Machine format", standard format of VMs allows a VM to run within many different VM (host) platforms.
Describe the Microkernel System Structure.
- Moves as much from the kernel into "user" space. - Communications take place between user modules using message passing.
How are OS generated?
- OS are designed to run on any class of machines; the system must be configured to each specific computer site. - SYSGEN program obtains information concerning the specific configuration of the hardware system. - Booting: starting a computer by loading the kernel - Bootstrap program: code stored in ROM that is able to locate the kernel, load it into memory, and start its execution.
Describe the system boot process.
- OS must be made available to hardware so hardware can start it. - Small piece of code (bootstrap loader), locates the kernel, loads it into memory, and starts it. - Sometimes two-step process where boot block at fixed location loads bootstrap loader. - When power is initialized on a system, execution starts at a fixed memory location. Firmware used to hold initial boot code.
In terms of OS, what is the difference between a policy and a mechanism?
- Policy: What will be done? - Mechanism: How to do it? - Mechanisms determine how to do something, policies decide what will be done. - This separation is important because it allows maximum flexibility if policy decisions are changed down the road.
What does para-virtualization do?
- Presents guests with system similar but not identical to hardware. - Guest must be modified to run on paravirtualized hardware - Guest can be an OS
What are system calls and how are they typically accessed?
- Programming interface to the services provided by the OS. - Mostly accessed by programs via a high-level Application Program Interface (API) rather than direct system call use. -
List OS functions which exist to ensure the efficient operation of the computer system. (3 answers)
- Resource allocation: When multiple users or multiple jobs running concurrently, resources must be allocated to each of them. (CPU cycles, main memory, file storage, I/O devices) - Accounting: keep track of which users use how much and what kinds of computer resources. - Protection and Security: Protection- involves ensuring that all access to the system resources is controlled. Security- secures system from outsiders. Requires user-authentication, extends defending external I/O devices from invalid access attempts.
What are the 3 general methods used to pass parameters to the OS?
- Simplest: pass the parameters in registers. - Parameters stored in a block, or table, in memory and address of block passed as a parameter in a register. (This approach used by Linux and Solaris) - Parameters placed, or pushed, onto the stack by the program and popped off the stack by the OS. - Block and stack methods do not limit the number or length of parameters being passed.
List some attributes of MS-DOS.
- Single-tasking - Shell invoked when system booted - Simple method to run program - Single memory space - Loads program into memory, overwriting all but kernel
What approach do Virtual Machines take?
- Takes the layered approach to its logical conclusion. It treats hardware and the OS kernel as though they were all hardware. - Virtual Machine provides an interface identical to the underlying bare hardware. - The OS host creates the illusion that a process has its own processor and (virtual memory) - Each guest provided with a (virtual) copy of underlying computer
What is the layered approach?
- The OS is divided into a number of layers (levels), each built on top of lower layers. Bottom layer (layer 0) is the hardware; the highest layer (layer N) is the user interface. - With modularity, layers are selected such that each uses functions (operations) and services of only lower-level layers.
How are system calls implemented?
- Typically, a number is associated with each system call. - System call interface invokes intended system call in OS kernel and returns status of the system call and any return values. - Caller doesn't need to know anything about how system call is implemented. Caller just needs to obey API and understand what OS will do as a result call. Most details of the OS interface hidden from programmer by an API.
What is a drawback of UNIX? What are the 2 separable parts of the UNIX OS?
- UNIX limited by hardware functionality, original UNIX operating system has limited structuring. - System Programs - Kernel: consists of everything below the system-call interface and above the physical hardware. Provides the file system, CPU scheduling, memory management, and other OS functions; large number of functions for one level.
Differentiate user goals from system goals.
- User goals: operating system should be convenient to use, easy to learn, reliable, safe, and fast. - System goals: OS should be very easy to design, implement, and maintain, as well as flexible, reliable, error-free, and efficient.
Describe some OS services which are helpful for the user. (6 answers)
- User interface: Almost all OS have a UI (Examples: Command-Line, GUI) - Program Execution: System must be able to load a program into memory and run that program, end execution, either normally or abnormally. - I/O operations: A running program may require I/O, which may involve a file or an I/O device. - File system manipulation: Programs need to read and write files and directories, create and delete them, search them, list file information, permission management. - Communications: Processes may exchange info. - Error Detection
Why do most modern OS implement kernel modules?
- Users object-oriented approach - Each core component is separate - Each talks to the others over known interfaces - Each is loadable as needed within the kernel Overall, kernel modules are similar to layers but are more flexible.
Give some examples of systems which use both a CLI and a GUI.
- Windows - Apple Mac OS X as "Aqua" GUI interface with UNIX kernel underneath. - Solaris is a CLI with option GUI interfaces (Java desktop, KDE)
Give some examples of file management system calls.
- create file, delete file - open, close file - read, write, re position - get and set file attributes
Give some examples of communications system calls.
- create, delete communications connection - send, receive messages - transfer status information
Give some examples of process control system calls.
- end,abort - load, execute - create process, terminate process - wait for time - wait event, signal event - allocate and free memory
Give some examples of Information maintenance
- get time or date, set time or date - get system data, set system data
What are System programs? What can system programs be divided into?
- provide a convenient environment for program development and execution. - File manipulation, Status information, File modification, Programming language support, program loading and execution, Communications, and Application programs.
Give some examples of device management system calls
- request device, release device - read, write, re position - get device attributes, set device attributes
What role does the Command-Line Interface (Command Interpreter) play?
-allows direct command entry - sometimes implemented in the kernel, sometimes by system programs. - sometimes multiple flavors implemented (shells) - primarily fetches a command from a user and executes it.
What are some benefits of the Microkernel approach? Drawbacks?
Benefits: - Easier to extend a microkernel - Easier to port the OS to new architectures - More reliable (less code running in Kernel mode) - More secure Drawbacks: - Performance overhead of user space to kernel space communication.
Most users' view of the operating system is defined by system calls not system programs. T/F?
False. Most user's view defined by system programs.
Operating Systems provide an environment for execution of programs and services to programs and users. T/F?
True