CS 433 - Chapter 2
Types of system calls
System calls can be grouped roughly into six major categories: process control, file management, device management, information maintenance, communications, and protection.
Application Programming Interface (API)
The API specifies a set of functions that are available to an application programmer, including the parameters that are passed to each function and the return values the programmer can expect. Three of the most common APIs available to application programmers are the Windows API for Windows systems, the POSIX API for POSIX-based systems (which include virtually all versions of UNIX, Linux, and macOS), and the Java API for programs that run on the Java virtual machine.
Command interpreter
The main function of the command interpreter is to get and execute the next user-specified command.
Monolithic Structure
The simplest structure for organizing an operating system is no structure at all. That is, place all of the functionality of the kernel into a single, static binary file that runs in a single address space. This approach—known as a monolithic structure—is a common technique for designing operating systems.
KDE and GNOME desktops are available under open-source licenses. True/False
True
Graphical User Interface (GUI) is the most common user interface. Yes/No
Yes
System call interface is the boundary between user programs and operating system services. Yes/No
Yes
Touch screen is a user interface on mobile systems. Yes/No
Yes
_____ is/are not a technique for passing parameters from an application to a system call. A) Cache memory B) Registers C) Stack D) Special block in memory
A) Cache memory
The major difficulty in designing a layered operating system approach is ____. A) appropriately defining the various layers B) making sure that each layer hides certain data structures, hardware, and operations from higher-level layers C) debugging a particular layer D) making sure each layer is easily converted to modules
A) appropriately defining the various layers
A _____ is an example of a systems program. A) command interpreter B) Web browser C) text formatter D) database system
A) command interpreter
A boot block ____. A) typically only knows the location and length of the rest of the bootstrap program B) typically is sophisticated enough to load the operating system and begin its execution C) is composed of multiple disk blocks D) is composed of multiple disk cylinders
A) typically only knows the location and length of the rest of the bootstrap program
_____ allows operating system services to be loaded dynamically. A) Virtual machines B) Modules C) File systems D) Graphical user interfaces
B) Modules
If a program terminates abnormally, a dump of memory may be examined by a ____ to determine the cause of the problem. A) module B) debugger C) shell D) control card
B) debugger
Policy ____. A) determines how to do something B) determines what will be done C) is not likely to change across places D) is not likely to change over time
B) determines what will be done
To the SYSGEN program of an operating system, the least useful piece of information is _____. A) the CPU being used B) amount of memory available C) what applications to install D) operating-system options such as buffer sizes or CPU scheduling algorithms
C) what applications to install
_____ is not one of the major categories of system calls. A) Process control B) Communications C) Protection D) Security
D) Security
A microkernel is a kernel ____. A) containing many components that are optimized to reduce resident memory size B) that is compressed before loading in order to reduce its resident memory size C) that is compiled to produce the smallest size possible when stored to disk D) that is stripped of all nonessential components
D) that is stripped of all nonessential components
A policy should be defined together with the mechanism. True False
False
An initial bootstrap program is in the form of random-access memory (RAM). True False
False
An operating system is far easier to port-to move to some other hardware-if it is written in a lower-level language. True False
False
Debugging is the activity of finding and fixing errors in a system, only in software. True False
False
There is only a single flavor of shells for users to choose. True/False
False
Tools for operating system debugging must be system-wide. True False
False
Web browser is a system program True/False
False
A statically-linked library is only linked and loaded if it is conditionally required during program runtime. True False
False, a dynamically-linked library is only linked and loaded if it is conditionally required during program runtime.
System calls can be run in either user mode or kernel mode. True/False
False, only execute in kernel mode
. Source files are compiled into object file(s) which use absolute addresses. True False
False, source filed are compiled into object files that are designed to be loaded into any physical memory location (relocatable object file)
System programs all run in kernel mode. True/False
False, system programs are part of the OS that is not necessarily part of the kernel
Types of system services:
File Management Status information File modification Programming-language support Program loading and executions Communications Background services