1/24
Flashcards covering key concepts from Chapter 2: Operating-System Structures, including OS services, system calls, system programs, design principles, architectures, and boot processes.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai | Chat |
|---|
No analytics yet
Send a link to your students to track their progress
What operating system services provide direct functions and assistance to the user?
User interface (CLI, GUI, or Batch), program execution, I/O operations, file-system manipulation, communications, and error detection.
What operating system services exist to ensure the efficient operation of the system itself through resource sharing?
Resource allocation, accounting, and protection and security.
What architecture diagram illustrates the relationship between user/system programs, operating system services, system calls, and underlying hardware?
The View of Operating System Services diagram.
What are the two primary mechanisms by which processes exchange information in operating systems?
Shared memory and message passing (packets moved by the OS).
What is the primary function of a Command-Line Interface (CLI) or shell?
To fetch a command specified by the user and execute it.
Where was the Graphical User Interface (GUI) desktop metaphor originally invented?
Xerox PARC.
What are the three most common Application Programming Interfaces (APIs) used by programs to access system calls?
Win32 API for Windows, POSIX API for POSIX-based systems (including UNIX, Linux, and Mac OS X), and Java API for the Java Virtual Machine (JVM).
What sequence of system calls occurs when copying contents from a source file to a destination file?
Acquire input file name -> Write prompt to screen -> Accept input -> Acquire output file name -> Write prompt to screen -> Accept input -> Open input file (abort if missing) -> Create output file (abort if existing) -> Loop reading from input and writing to output until read fails -> Close output file -> Write completion message -> Terminate normally.
How is the standard POSIX read() API function declared and defined?
Defined in
How does the system call interface execute a requested system call?
It intercepts API calls, looks up the associated system call number in an index table, invokes the corresponding kernel-mode system call implementation, and returns status and values to user mode.
What are the three general methods used for passing parameters to the operating system during a system call?
How does parameter passing via a table in memory function during a system call?
The user program places parameters in memory block X, loads address X into a register, and triggers the system call; the OS then reads the parameters from table X.
What are the equivalent Windows API and Unix system calls across major OS functions?
Process Control: CreateProcess() / fork(); File Manipulation: CreateFile() / open(); Device Manipulation: SetConsoleMode() / ioctl(); Information Maintenance: GetCurrentProcessID() / getpid(); Communication: CreatePipe() / pipe(); Protection: SetFileSecurity() / chmod().
How does a standard C library call like printf() execute on a system?
The C application calls printf(), which invokes the standard C library implementation, which then calls the write() system call to transition to kernel mode and complete output.
How does MS-DOS handle user program loading and process execution?
MS-DOS is single-tasking; executing a program loads it directly into memory overwriting all free memory and non-kernel structures, and reloads the command interpreter shell upon program completion.
How does FreeBSD execute a new process from the user shell?
The multitasking FreeBSD shell calls fork() to create a process, executes exec() to load the requested program into that process, and waits for the process to exit with return code 0 (no error) or > 0 (error).
What are system background services, also known as daemons or subsystems?
System programs launched at boot time that run continuously or periodically in user context (not kernel context) to provide services like disk checking, process scheduling, error logging, and printing.
What is the key principle regarding Policy versus Mechanism in operating system design?
Mechanisms determine how to do something, whereas Policies determine what will be done. Separating them allows maximum flexibility to change policy without modifying mechanism code.
What structural design is characteristic of MS-DOS?
A simple, non-modular structure written to fit in minimal space where applications, resident system programs, MS-DOS drivers, and ROM BIOS drivers lack well-separated interfaces.
What two separable parts form the traditional UNIX operating system structure?
Systems programs and the Kernel (which consists of everything below the system-call interface and above physical hardware).
How is an operating system structured under the layered approach?
The OS is divided into layers from Layer 0 (hardware) to Layer N (user interface), where each layer is built strictly on top of lower layers and invokes functions of only lower-level layers.
What are the primary benefits and detriments of a microkernel OS structure like Mach?
Benefits: easier extension, increased portability to new architectures, higher reliability, and improved security. Detriments: performance overhead caused by message-passing communication between user and kernel space.
How does the modular approach (Loadable Kernel Modules) operate in systems like Solaris?
The core kernel maintains essential services while independent object-oriented modules (such as drivers, file systems, and scheduling classes) are dynamically loaded into the kernel as needed.
What is the role of the SYSGEN (system generation) program?
It reads details regarding a specific computer site's hardware setup to compile or build a system-tuned, hardware-optimized operating system kernel.
What is a bootstrap loader and how does system boot proceed?
A bootstrap loader is a small initial program stored in ROM/EEPROM (or loaded via a fixed boot block) that locates the OS kernel, loads it into main memory, and starts execution.