What are the main components discussed in Chapter 2?
OS Structures, OS Services, User OS Interface, System Calls, Types of System Calls, System Programs, OS Design and Implementation, OS Debugging, OS Generation, System Boot.
What is the purpose of OS Services?
To provide essential functionalities for user applications and system management.
1/377
p.2
OS Structure

What are the main components discussed in Chapter 2?

OS Structures, OS Services, User OS Interface, System Calls, Types of System Calls, System Programs, OS Design and Implementation, OS Debugging, OS Generation, System Boot.

p.2
OS Services

What is the purpose of OS Services?

To provide essential functionalities for user applications and system management.

p.2
System Calls

What is a System Call?

A mechanism that allows user programs to request services from the operating system.

p.2
Types of System Calls

What are Types of System Calls?

Different categories of system calls that provide various functionalities, such as process control, file management, and device management.

p.2
System Programs

What role do System Programs play in an OS?

They perform tasks that support the operation of the system and user applications.

p.2
OS Design and Implementation

What is involved in OS Design and Implementation?

The process of creating an operating system architecture and coding its components.

p.30
System Calls

What is the relationship between system calls, API, and C library?

APIs provide a set of functions that use system calls, which are implemented in the C library.

p.30
User OS Interface

Why use API rather than system calls directly?

APIs offer a higher-level, easier-to-use interface for developers compared to direct system calls.

p.7
OS Services

What is the purpose of resource allocation in an OS?

To manage resources for multiple users or jobs running concurrently.

p.52
System Calls

What are Mach traps?

System calls that allow user programs to request services from the kernel.

p.33
System Programs

Which text editor is mentioned as an example?

Vim.

p.40
OS Structure

How are interfaces and levels of functionality managed in MS-DOS?

They are not well separated.

p.4
OS Services

What service is responsible for managing files within an operating system?

File-system manipulation.

p.41
OS Structure

What type of memory space does MS-DOS use?

Single memory space.

p.4
OS Services

Which OS service facilitates communication between processes?

Communication.

p.4
OS Services

What is the purpose of error detection in an operating system?

To identify and handle errors.

p.23
System Calls

What is the purpose of parameter passing in system calls?

To provide necessary information to the system call for execution.

p.5
User OS Interface

What are the types of user interfaces in OS services?

CLI, GUI, and Batch.

p.55
OS Structure

In which programming language are Android apps primarily developed?

Java, using the Android API.

p.24
Types of System Calls

What is the first system call used in a file-copy operation?

open() - to open the source file.

p.27
System Calls

What function does a C program call to output text?

printf()

p.58
OS Services

What is an example of a tool used for performance monitoring?

'top' program or Windows Task Manager.

p.34
System Programs

What are the two types of communication discussed?

Interprocess communication and Network communication.

p.32
System Programs

What is the primary function of system programs related to file management?

To create, delete, copy, rename, print, dump, list, and manipulate files and directories.

p.32
System Programs

What additional information can system programs log?

Performance, logging, and debugging information.

p.11
System Calls

What are system calls?

Functions that allow user applications to request services from the operating system.

p.50
OS Design and Implementation

What does the modular approach in Solaris facilitate?

Easier updates and maintenance.

p.14
Types of System Calls

What exit code indicates no error in a process?

Code = 0.

p.24
Types of System Calls

What system call is used to read data from the source file?

read() - to read data from the opened source file.

p.40
OS Structure

What is a drawback of the simple structure in MS-DOS?

It is unsafe and difficult to enhance.

p.58
OS Services

What is the primary purpose of performance monitoring and tuning?

To improve performance by removing bottlenecks.

p.55
OS Structure

What does the Android runtime environment include?

A core set of libraries and the Dalvik VM.

p.8
OS Services

What role does memory management play in Operating System Services?

It allocates and manages memory for applications and processes.

p.45
OS Design and Implementation

What is a pro of the layered approach in system design?

Easier debugging and maintenance.

p.34
System Programs

What is the primary function of system programs related to communications?

Creating connections among processes and users.

p.55
OS Structure

What types of libraries are included in the Android runtime?

Libraries for webkit, SQLite, multimedia, and a smaller libc.

p.28
System Calls

What does POSIX stand for?

Portable Operating System Interface for Unix.

p.24
Types of System Calls

What system call is used to write data to the destination file?

write() - to write the read data into the destination file.

p.11
User OS Interface

What is the purpose of the Application-OS Interface?

To allow applications to communicate with the operating system.

p.17
System Calls

What does the command 'chown' do?

Changes file owner and group.

p.3
OS Services

What are OS services?

Functions provided by the operating system to facilitate user and application interactions.

p.46
OS Structure

What are some examples of microkernel operating systems?

Mach and mk-Linux.

p.10
OS Structure

What is an advantage of the shell that invokes executable files?

It is very expandable and does not require modification to add commands.

p.8
OS Services

Can you name a common Operating System Service?

File management.

p.32
System Programs

What role does the registry play in system programs?

It stores configuration information.

p.45
OS Design and Implementation

What challenge is associated with defining layers in a layered approach?

It can be difficult to define layers.

p.11
User OS Interface

What does API stand for?

Application Programming Interface.

p.59
OS Services

What does the 'ps' command provide information about?

Individual processes.

p.17
System Calls

What is the function signature for 'chown'?

int chown(const char *path, uid_t owner, gid_t group);

p.3
OS Services

Name a key function of OS services.

Managing hardware resources.

p.3
OS Services

How do OS services enhance user experience?

By providing a user-friendly interface and managing system resources efficiently.

p.35
System Programs

What are background services in system programs?

Services that launch at boot time and run in the background.

p.60
OS Debugging

What is the purpose of tracing in operating systems?

To observe specific events.

p.44
OS Design and Implementation

What is a con of Layered OS Architecture?

Less efficient and difficult to define layers.

p.41
OS Structure

What type of tasking does MS-DOS use?

Single-tasking.

p.8
OS Services

Why are Operating System Services important?

They manage hardware resources and provide a user interface.

p.28
System Calls

What is the Win32 API?

An API defined by Microsoft for Windows UI, I/O, disk, and more.

p.20
OS Services

What is a Run-time Environment (RTE)?

A suite of software to run applications.

p.23
System Calls

Why is parameter passing important in system calls?

It ensures that the system call receives the correct data to perform its function.

p.27
Types of System Calls

Is printf() a system call?

No, it is not a system call.

p.5
System Calls

What happens when a program ends execution?

It gives control back to the OS, either normally or abnormally (indicating an error).

p.29
System Programs

Who are APIs designed for?

Application programmers.

p.59
OS Services

What does 'vmstat' report?

Memory-usage statistics.

p.10
OS Structure

How does the shell that invokes executable files operate?

It does not understand the command, only the syntax.

p.31
System Programs

What is the purpose of system programs?

To provide convenience for program development and execution.

p.35
System Programs

What is the role of disk checking in system programs?

To check the integrity of the disk.

p.31
System Programs

What role do system programs play in communications?

They facilitate communications between programs and users.

p.12
System Calls

What are system calls?

Function calls to request OS services.

p.60
OS Debugging

Name a few subcommands of perf.

stat, top, record, report, annotate, sched, list.

p.16
Types of System Calls

What is one type of system call related to information maintenance?

Get/set time, date, or system data.

p.60
OS Debugging

What type of tracing is strace associated with?

Per-process tracing.

p.34
System Programs

Give examples of communication system programs.

Send messages, browse web pages, send email, remote login, FTP.

p.32
System Programs

What type of status information can system programs provide?

Date, time, available memory, disk space, and number of users.

p.28
System Calls

Which systems commonly use the POSIX API?

Most Unix-based systems, including Linux and macOS.

p.20
OS Services

What components could be included in a Run-time Environment?

Compiler, linker, interpreter, library, loader.

p.17
System Calls

What command is used for keyword search in the manual?

$ man -k chown

p.29
System Programs

What is one reason to use an API?

Simplicity.

p.10
OS Structure

What is the first approach to shell design?

A shell that understands all commands.

p.38
OS Design and Implementation

What are the reliability expectations for an operating system from a system perspective?

The OS should be reliable, error-free, and efficient.

p.44
OS Structure

What does Layer 0 represent in Layered OS Architecture?

Hardware.

p.42
OS Structure

What are the two layers in a monolithic structure?

User mode and kernel mode.

p.31
System Programs

What are some categories of system programs?

File manipulation, status information, programming language support, loading and execution, communications, and background services.

p.14
System Calls

What system call does the shell use to create a new process?

fork().

p.9
User OS Interface

What does CLI stand for?

Command-line Interface.

p.61
OS Services

What services does the OS provide for program execution?

The OS provides services for program execution.

p.14
Types of System Calls

What does an exit code greater than 0 signify?

An error code.

p.4
OS Services

Which OS service involves managing input and output operations?

I/O operations.

p.26
System Calls

What does the close() system call do?

It closes an open file.

p.57
OS Debugging

What are the two methods to gather error information during a user program crash?

(1) Log files error info (2) Core dump file captures memory of the process.

p.51
OS Design and Implementation

How does Windows utilize a hybrid system?

It combines monolithic and microkernel architectures for subsystem 'personalities'.

p.15
Types of System Calls

What does the 'create' system call do?

It creates a new file.

p.55
OS Structure

What happens to Java class files in Android development?

They are compiled to Java bytecode and translated to executable code for the Dalvik VM.

p.7
OS Services

What types of resources are managed in resource allocation?

CPU cycles, main memory, file storage, and I/O devices.

p.45
OS Design and Implementation

What is a successful example of a layered approach?

TCP/IP protocol stack.

p.28
System Calls

How are many Java APIs related to the host OS?

Many are mapped to the host OS’s API.

p.50
OS Design and Implementation

What can be easily added or removed in Solaris due to its modular design?

Components and services.

p.39
OS Design and Implementation

What does 'policy' refer to in OS design?

What will be done and what is allowed (parameterizable).

p.59
OS Services

What type of statistics does the 'top' command display?

Statistics for current processes.

p.29
System Programs

Why can APIs be more efficient than system calls?

APIs might not need to make a system call, which can be more efficient.

p.59
OS Services

What does 'iostat' measure?

I/O usage statistics for disks.

p.19
System Calls

What is the relationship between APIs and system calls in an operating system?

APIs provide a user-friendly interface for applications to interact with system calls, which are the actual requests made to the OS for services.

p.19
User OS Interface

How do APIs simplify the use of system calls?

APIs abstract the complexity of system calls, providing a simpler and more intuitive way for developers to access OS functionalities.

p.42
OS Structure

How does Linux approach monolithic structure?

It is monolithic for performance but modular.

p.60
OS Debugging

What is perf in the context of Linux?

A collection of performance tools.

p.41
OS Structure

How is the shell invoked in MS-DOS?

On booting.

p.12
Types of System Calls

What device management tasks can system calls handle?

Configure, read/write, connect/disconnect devices.

p.41
OS Structure

Does MS-DOS create processes for running programs?

No, no process is created.

p.48
OS Design and Implementation

How does a microkernel enhance reliability?

Less code runs in kernel mode, making it more secure.

p.54
OS Design and Implementation

What type of mobile phone was Android originally designed for?

Mobile phones with a keyboard and no touch screen.

p.57
OS Debugging

What does a core dump file do?

Captures the memory of the process for debugging.

p.57
OS Debugging

What is the purpose of performance monitoring in OS debugging?

To monitor and tune system performance.

p.25
System Calls

What is the return value of the read() function?

The number of bytes read, 0 for EOF, or -1 if there is an error.

p.57
OS Debugging

What does profiling refer to in the context of OS debugging?

Instruction trace for statistical trends.

p.37
OS Structure

What is a Microkernel OS?

An OS architecture that minimizes the kernel's functionality, running most services in user space.

p.18
API

Do all API calls require system calls?

No, many math APIs do not need system calls.

p.37
OS Structure

What is the Java Virtual Machine (JVM)?

An abstract computing machine that enables a computer to run Java programs.

p.53
System Programs

What are some core frameworks used in macOS and iOS?

QuickTime, OpenGL, cloud, database.

p.21
Types of System Calls

What system call number is associated with SYS_fork?

2

p.21
Types of System Calls

What system call number is associated with SYS_getuid?

24

p.40
OS Structure

How is the structure of MS-DOS characterized?

It has a minimal structure and is not divided into modules.

p.30
OS Services

What are the two communication models provided by the OS?

Message passing and shared memory.

p.34
System Programs

What are the main models of communication?

Message-passing and shared-memory.

p.23
System Calls

What is a common method for organizing parameters for system calls?

Using a parameter table.

p.50
OS Design and Implementation

What is the primary feature of the Solaris operating system?

Its modular approach.

p.27
System Calls

What system call does printf() invoke?

write()

p.38
OS Design and Implementation

What are the reliability expectations for an operating system from a user perspective?

The OS should be reliable, safe, and fast.

p.47
OS Structure

What is the advantage of using a microkernel architecture?

Increased modularity and flexibility, allowing for easier updates and maintenance.

p.44
OS Structure

What is the structure of Layered OS Architecture?

The OS is divided into N layers (0..N-1).

p.29
System Programs

What is a characteristic of some APIs?

They are designed for convenience.

p.35
System Programs

What happens to some background services after system startup?

They terminate after performing their tasks.

p.31
System Programs

What type of support do system programs provide for programming languages?

They provide programming language support, loading, and execution.

p.6
OS Services

What are the main functions of file system manipulation in OS services?

Read, write, create, delete files and directories; search them, list file info, manage permissions.

p.14
OS Services

What does the shell do after executing a process?

It waits for the process to terminate or continues with user commands.

p.9
User OS Interface

What are examples of command-line interpreters?

csh, bash.

p.6
OS Services

What facilities does the OS provide for debugging?

Debugging facilities to help identify and fix errors.

p.52
System Calls

What does RPC stand for?

Remote Procedure Call.

p.15
Types of System Calls

What are the types of system calls related to file management?

Create, delete, open, close, read, write, reposition, get and set file attributes.

p.16
Types of System Calls

What is an example of message passing in system calls?

Send and receive messages.

p.48
OS Design and Implementation

Which operating system uses a monolithic kernel for performance but is also modular?

Linux.

p.48
OS Design and Implementation

What was the initial design of Windows NT?

It started out as a microkernel.

p.51
OS Design and Implementation

What are I/O kits and kernel extensions in the context of Darwin?

They are dynamically loadable modules.

p.15
Types of System Calls

What does the 'open' system call accomplish?

It opens an existing file for reading or writing.

p.49
OS Structure

What does Modular OS Architecture support?

Loadable kernel modules (LKM).

p.13
Types of System Calls

What system calls can be used to wait for specific conditions?

Wait for time, event, signal event.

p.56
OS Structure

What type of compilation does ART use?

Ahead-of-time (AOT) compilation to native code.

p.49
OS Structure

What is a key benefit of loading modules as needed?

No need to recompile the kernel.

p.49
OS Structure

Which operating systems utilize Modular OS Architecture?

Solaris, Linux, Windows.

p.21
Types of System Calls

What system call number is associated with SYS_close?

6

p.58
OS Services

What must an operating system provide for performance monitoring?

Means of computing and displaying measures of system behavior.

p.8
OS Services

What are Operating System Services?

Services provided by the OS to facilitate user and application interactions.

p.8
OS Services

How do Operating System Services enhance security?

By controlling access to resources and protecting data.

p.23
System Calls

How are parameters typically passed to system calls?

Via a table or a specific data structure.

p.45
OS Design and Implementation

What is a con of the layered approach?

Less efficient.

p.22
System Calls

What is one method of passing parameters in a system call?

In registers, as defined by the ISA.

p.38
OS Design and Implementation

What is a primary user goal for an operating system?

The OS should be easy to use and learn.

p.47
OS Structure

What services are typically included in a microkernel?

Inter-process communication, basic scheduling, and low-level address space management.

p.10
OS Structure

What is a drawback of a self-contained shell?

It requires modification of the shell to add commands.

p.59
OS Services

What type of statistics does 'netstat' provide?

Statistics for network interfaces.

p.14
OS Structure

What type of operating system is FreeBSD?

A Unix variant.

p.14
User OS Interface

What happens after a user logs in to FreeBSD?

The user's choice of shell is invoked (e.g., bash, tcsh, ksh).

p.31
System Programs

What are background services in the context of system programs?

Services that run in the background to support other applications.

p.12
Types of System Calls

What are some examples of process control system calls?

Abort, create, terminate process, allocate/free memory.

p.4
OS Services

What service allows programs to run on an operating system?

Program execution.

p.9
User OS Interface

What does GUI stand for?

Graphical User Interface.

p.25
System Calls

What header file must be included to use the read() function?

#include <unistd.h>

p.12
Types of System Calls

What communication functions do system calls provide?

Send/receive data messages.

p.41
OS Structure

What happens when a program is loaded into memory in MS-DOS?

It overwrites all but the kernel.

p.26
System Calls

What is the purpose of the read() system call?

To read data from a file.

p.41
OS Structure

What is the role of the shell at system startup in MS-DOS?

To run user programs.

p.54
OS Design and Implementation

What changes were made to the Linux kernel for Android?

Changes to support power management.

p.4
OS Services

How does an operating system ensure protection and security?

By managing access to resources and data.

p.13
Types of System Calls

What can be done with process attributes in system calls?

Get and set process attributes.

p.36
OS Services

What is the purpose of an ABI?

It defines the executable program format.

p.13
Types of System Calls

What system call can be used for debugging?

Error dump, single-step for debug.

p.36
OS Services

What are parameter passing conventions?

Methods for passing parameters, such as stack or register.

p.53
System Programs

What multimedia framework is included in the core frameworks for macOS and iOS?

QuickTime.

p.21
Types of System Calls

What system call number is associated with SYS_chdir?

12

p.7
OS Services

What does accounting in an OS involve?

Keeping track of which users use how much and what kinds of computer resources.

p.28
System Calls

What is the Java API used for?

UI, I/O, and other functionalities for the Java virtual machine (JVM).

p.50
OS Design and Implementation

How does the modular approach benefit Solaris?

It allows for flexibility and scalability in system design.

p.47
OS Structure

What is a microkernel?

A minimalistic kernel that provides only the essential services needed for the operating system.

p.46
OS Structure

What is the main approach of a microkernel OS?

To move as much functionality from the kernel into user space.

p.46
OS Structure

How does communication occur in a microkernel OS?

Through message passing.

p.17
System Calls

Which header file is required for using 'chown'?

#include <unistd.h>

p.19
System Calls

What role do system calls play in an operating system?

System calls act as the interface between user applications and the operating system, allowing programs to request services from the OS.

p.52
OS Structure

What is Darwin in the context of macOS and iOS?

The kernel for macOS and iOS.

p.60
OS Debugging

What does gdb stand for?

GNU source-level debugger.

p.52
OS Services

What are kexts?

Kernel extensions that allow for dynamic loading of drivers.

p.61
System Calls

What is a system call?

An entry point into the OS; it acts as an API.

p.26
System Calls

What is the syntax for the open() system call?

int open(const char *path, int flags);

p.51
OS Design and Implementation

Why do hybrid operating systems exist?

To address performance, security, and usability needs.

p.33
System Programs

What functionalities do text editors provide?

Search contents and transform text.

p.9
User OS Interface

What type of feedback does a GUI provide?

Direct manipulation and visual/audio feedback.

p.41
OS Structure

What occurs after a program exits in MS-DOS?

The shell is reloaded.

p.54
OS Design and Implementation

What alliance was formed to support the development of Android?

The Open Handset Alliance.

p.61
OS Debugging

What tools are mentioned for OS monitoring?

Counters, monitors, and trace tools.

p.54
OS Services

What services were ported to various devices from Android?

Google Mobile Services.

p.33
System Programs

What types of debugging systems are mentioned?

Debugging systems for higher-level and machine language.

p.49
OS Structure

How is a loadable kernel module (LKM) managed?

It is loaded as needed and can be unloaded.

p.49
OS Structure

What advantages does Modular OS Architecture combine?

Advantages of microkernel and layered architecture.

p.49
OS Structure

What does lower overhead in Modular OS Architecture imply?

No need for message passing.

p.53
System Programs

What graphics framework is part of the core frameworks for macOS and iOS?

OpenGL.

p.21
Types of System Calls

What system call number is associated with SYS_mount?

21

p.24
Types of System Calls

Which system call is used to create or open the destination file?

open() - to create or open the destination file.

p.24
Types of System Calls

What system call is used to close the files after the operation?

close() - to close both the source and destination files.

p.22
System Calls

How can parameters be passed using a table?

Store parameter values in a table in memory and pass the table’s address in a register.

p.27
System Calls

What is the relationship between printf() and write()?

printf() calls write(), which is an actual system call.

p.39
OS Design and Implementation

What does 'mechanism' refer to in OS design?

How to do it (implementation).

p.47
OS Structure

How does a microkernel differ from a monolithic kernel?

A microkernel has a smaller codebase and runs most services in user space, while a monolithic kernel includes many services in kernel space.

p.46
OS Structure

What is a benefit of using a microkernel architecture?

It is easier for extending and porting applications.

p.10
OS Structure

What is a characteristic of the shell that invokes executable files?

It is smaller but has a heavier weight per command.

p.14
OS Services

What feature does FreeBSD support that allows multiple tasks to run simultaneously?

Multitasking.

p.60
OS Debugging

What tool is used to trace system calls?

strace.

p.52
OS Services

What is ioKit used for?

To manage device drivers in macOS and iOS.

p.6
OS Services

What are the two methods of inter-process communication mentioned?

Shared memory and message passing.

p.26
System Calls

What is the purpose of the open() system call?

To open a file.

p.16
Types of System Calls

What can be managed through information maintenance system calls?

Process, file, or device attributes.

p.54
OS Design and Implementation

When did Google acquire Android Inc.?

In 2005.

p.25
System Calls

What are the parameters of the read() function?

int fd, void *buf, size_t count.

p.33
System Programs

What types of support do system programs provide for programming languages?

Loading and execution.

p.33
System Programs

Which tools are included in programming-language support?

Compilers, assemblers, debuggers (gdb), and interpreters (python).

p.33
System Programs

What are absolute loaders and relocatable loaders used for?

Loading programs into memory.

p.16
Types of System Calls

What does attaching and detaching remote devices refer to in system calls?

Managing remote device connections.

p.2
OS Debugging

What does OS Debugging entail?

The process of identifying and fixing errors in the operating system.

p.36
OS Services

What does ABI stand for?

Application Binary Interface.

p.54
OS Structure

What are examples of proprietary services in Android?

Google Play and Google Mobile Services.

p.53
OS Services

What are the main application frameworks for macOS?

Cocoa.

p.36
OS Services

What aspects of data types does ABI define?

Sizes and endianness.

p.21
Types of System Calls

What system call number is associated with SYS_exit?

1

p.21
Types of System Calls

What system call number is associated with SYS_setuid?

23

p.7
OS Services

What is the difference between protection and security in an OS?

Protection ensures controlled access to system resources, while security involves user authentication and defending against invalid access attempts.

p.27
System Programs

Which library contains the printf() function?

stdio library

p.5
System Calls

What is the role of a loader in program execution?

It loads a program into memory to run.

p.17
System Calls

What is the purpose of 'man 2 chown'?

To access the BSD System Calls Manual for chown.

p.38
OS Design and Implementation

What is a key system goal for an operating system?

The OS should be easy to design, implement, and maintain.

p.10
OS Structure

What is the second approach to shell design?

A shell that invokes executable files.

p.31
System Programs

What are system programs also known as?

System services or system utilities.

p.31
System Programs

How do system programs define users' interaction with the OS?

They define most users’ view of the operating system.

p.42
OS Structure

What is a characteristic of traditional Unix in terms of structure?

It is difficult to scale complexity.

p.52
OS Structure

What type of kernel is Mach?

A microkernel but with kexts.

p.35
System Programs

How are application programs launched?

By command line, mouse click, or finger poke.

p.52
OS Design and Implementation

What are the key functions of an operating system?

Scheduling, IPC (Inter-Process Communication), and memory management.

p.51
OS Design and Implementation

What characterizes most modern operating systems?

They are a mix of different models.

p.12
Types of System Calls

What system settings can be managed through system calls?

Date/time, location, proximity, authentication service.

p.16
Types of System Calls

What type of system call is used to create or delete communication connections?

Communications system calls.

p.26
System Calls

What is the syntax for the close() system call?

int close(int fd);

p.52
User OS Interface

What interfaces are provided for applications in macOS and iOS?

CLI, file system, networking, and library interface.

p.57
OS Debugging

What type of file can an OS failure generate?

Crash dump file containing kernel memory.

p.15
Types of System Calls

What is the purpose of the 'delete' system call?

It removes an existing file.

p.57
OS Debugging

What are trace listings used for in performance monitoring?

Recorded activities for analysis.

p.18
System Calls

What is an example of a system call in C?

The brk() system call, which is called by malloc() and free().

p.54
OS Structure

What is the nature of the Android core?

Open source.

p.49
OS Structure

What is an example of a loadable kernel module?

USB driver.

p.18
System Calls

Where can system call definitions be found in a Unix-like system?

In the header file /usr/include/sys/syscall.h.

p.36
OS Services

What role does a linker play in ABI?

It resolves addresses of all symbols.

p.21
Types of System Calls

What system call number is associated with SYS_open?

5

p.21
Types of System Calls

What system call number is associated with SYS_execve?

59

p.20
OS Services

What type of applications does the RTE support?

Applications written in a specific language or particular calling convention.

p.20
System Calls

How does the RTE support system calls?

By maintaining system-call numbers and providing a calling interface.

p.22
System Calls

What is the stack method for passing parameters in a system call?

User code pushes the parameters onto the stack, and the OS pops them off the stack on return.

p.50
OS Design and Implementation

What is one advantage of a modular OS like Solaris?

Improved resource management.

p.29
System Programs

What does portability in APIs refer to?

The same standard API (e.g., POSIX) across different platforms.

p.39
OS Design and Implementation

Is the separation of policy and mechanism always practiced in commercial OS?

No, it is not always so separated but is desirable as good practice.

p.59
OS Services

What are the two categories of performance monitor counters mentioned?

Per-process and system-wide.

p.42
OS Structure

In a monolithic OS, where does the entire kernel run?

In one address space.

p.35
System Programs

What is process scheduling?

A function of system programs that manages the execution of processes.

p.35
System Programs

Are application programs typically considered part of the operating system?

No, they are not typically considered part of the OS.

p.31
System Programs

What is the relationship between system programs and application programs?

System programs serve as a layer above system calls, while application programs utilize these services.

p.6
OS Services

What does error detection in OS services involve?

Detecting errors in CPU and memory hardware, I/O devices, and user programs.

p.25
System Calls

What is the purpose of the read() function in the Unix standard C library?

To read data from a file descriptor.

p.9
User OS Interface

What are graphical elements in a GUI used for?

To represent data objects or controls.

p.61
OS Structure

What defines a microkernel OS structure?

A minimal core with separate address spaces for each service.

p.61
OS Structure

What is a modular OS structure?

A structure that is dynamically loadable and operates in the same address space.

p.4
OS Services

What does resource allocation in an operating system refer to?

Distributing system resources among processes.

p.26
System Calls

What is the purpose of the write() system call?

To write data to a file.

p.18
System Calls

How are system calls typically executed?

Generally done as assembly language instructions.

p.54
OS Structure

What type of licensing does Android use?

Mixed License: open source for Android core and proprietary for Google Play and Google Mobile Services.

p.15
Types of System Calls

What is the purpose of the 'write' system call?

It writes data to an open file.

p.37
OS Structure

What is the purpose of a Virtual Machine?

To emulate hardware and run multiple OS instances on a single physical machine.

p.53
OS Services

What are the main application frameworks for iOS?

CocoaTouch.

p.56
OS Structure

What type of kernel does Android use?

A monolithic Linux kernel.

p.21
Types of System Calls

What system call number is associated with SYS_wait4?

7

p.11
System Calls

How do APIs relate to system calls?

APIs provide a set of functions that map to system calls for application use.

p.5
Types of System Calls

What types of operations are included in I/O operations?

File or I/O device operations.

p.39
OS Design and Implementation

Why is the separation of policy and mechanism important?

It allows maximum flexibility if policy decisions need to be changed later.

p.47
OS Structure

What is the impact of a microkernel on system performance?

It may introduce overhead due to increased communication between user space and kernel space.

p.44
OS Structure

What does Layer N-1 represent in Layered OS Architecture?

User interface.

p.42
OS Structure

How are functions organized in a monolithic structure?

They are tightly coupled with a large number of functions for one level.

p.19
System Programs

Can you give an example of an API that uses system calls?

The POSIX API is an example that provides a standard interface for system calls in Unix-like operating systems.

p.14
System Calls

Which system call is used to load a program into a process?

exec().

p.4
OS Services

What is one of the primary services provided by an operating system?

User interface.

p.60
OS Debugging

What does tcpdump do?

Traces network packets.

p.61
System Programs

What are examples of system programs?

Linker and loader.

p.61
OS Structure

What is a monolithic OS structure?

A structure with two levels and no internal structure.

p.51
OS Design and Implementation

What is an example of a hybrid system that combines monolithic and loadable modules?

Linux and Solaris.

p.9
User OS Interface

What are some alternative user interfaces mentioned?

Gesture-based, Brain-Computer Interface (BCI), Voice.

p.16
Types of System Calls

What can be transferred using system calls in communications?

Status information.

p.37
OS Structure

What is a characteristic of Simple OS Architecture?

It has a straightforward structure with minimal layers.

p.37
OS Structure

What defines More Complex OS Architecture?

It includes multiple layers and components for enhanced functionality.

p.15
Types of System Calls

What does the 'read' system call do?

It reads data from an open file.

p.37
OS Structure

What is a Modular OS Structure?

An architecture that allows components to be added or removed as needed.

p.18
System Calls

What is the role of traps in system calls?

Traps are used to make explicit requests to the kernel.

p.53
User OS Interface

What user experience design is associated with macOS?

Aqua.

p.56
OS Structure

What are some native libraries included in Android architecture?

SQLite, OpenGL, WebKit, Surface Manager, SSL, Media Framework.

p.21
Types of System Calls

What system call number is associated with SYS_getpid?

20

p.11
Types of System Calls

What is the significance of system calls in an operating system?

They enable user programs to perform operations like file manipulation, process control, and communication.

p.17
System Calls

What does the 'chown' function change?

The owner ID and group ID of a file.

p.29
System Programs

Give an example of an API that doesn't perform I/O.

sprintf() - it just performs formatting.

p.46
OS Structure

What components are typically included in a microkernel OS architecture?

I/O Manager, Graphics Subsystems, Network Drivers, Device Drivers.

p.44
OS Structure

What services can higher layers use in Layered OS Architecture?

Only the services provided by lower layers.

p.35
System Programs

What is error logging?

A service that records errors for troubleshooting.

p.42
OS Structure

What is the structure of Windows in relation to monolithic design?

Windows is also monolithic but has become more modular.

p.9
User OS Interface

What is the primary function of a CLI?

To allow users to type commands as text and execute code.

p.41
OS Structure

What is a simple way to run a program in MS-DOS?

By invoking the shell.

p.48
OS Design and Implementation

What is a pro of using a microkernel?

Easier for extending and porting to new architecture.

p.57
OS Debugging

What is the purpose of failure analysis in operating-system debugging?

Finding and fixing errors.

p.15
Types of System Calls

What system calls are involved in device management?

Request, release device, attach, detach devices, read, write, reposition, get device attributes, set device attributes.

p.16
Types of System Calls

What is a function of shared-memory system calls?

Create and gain access to memory regions.

p.26
System Calls

What is the syntax for the read() system call?

ssize_t read(int fd, void *buf, size_t count);

p.48
OS Design and Implementation

Why did Windows XP become more monolithic?

For performance reasons.

p.26
System Calls

What is the syntax for the write() system call?

ssize_t write(int fd, const void *buf, size_t count);

p.2
OS Generation

What is OS Generation?

The process of creating a customized version of an operating system for specific hardware.

p.56
OS Structure

What is the Android RunTime (ART)?

The virtual machine used in Android for executing applications.

p.36
OS Services

What does the ISA of the program code refer to?

Instruction Set Architecture, which can include native or bytecode.

p.13
Types of System Calls

What type of system calls are used for protection?

Get and set permissions, allow and deny user access.

p.36
OS Services

What is the function of a loader in the context of ABI?

It loads the linked image into memory for execution.

p.21
Types of System Calls

What system call number is associated with SYS_unlink?

10

p.44
OS Structure

How do lower layers interact with upper layers in Layered OS Architecture?

Lower layers are independent of upper layers.

p.44
OS Design and Implementation

What is a pro of Layered OS Architecture?

Easier debugging and maintenance.

p.19
Types of System Calls

Why are system calls essential for application development?

They allow applications to perform operations like file manipulation, process control, and communication with hardware.

p.6
OS Services

What types of communication does the OS facilitate?

Between processes on the same host or between hosts over a network.

p.12
Types of System Calls

What file management operations can be performed through system calls?

Create, delete, open, close, read, write file.

p.33
System Programs

What are system programs used for in file management?

File search and edit.

p.9
User OS Interface

What input devices are commonly used with a GUI?

Mouse, keyboard, display, and now touch screens.

p.60
OS Debugging

What type of tracing does perf provide?

System-wide tracing.

p.52
Types of System Calls

What type of system calls does BSD provide?

POSIX system calls.

p.25
System Calls

What does the parameter 'int fd' represent in the read() function?

The file descriptor.

p.25
System Calls

What does the parameter 'void *buf' represent in the read() function?

A pointer to the data buffer to store read data.

p.25
System Calls

What does the parameter 'size_t count' specify in the read() function?

The maximum number of bytes to read.

p.33
System Programs

What is the purpose of linkage editors?

To link different program modules together.

p.13
Types of System Calls

What are some actions included in Process Control system calls?

Create, terminate, end, abort, load, execute.

p.49
OS Structure

What are the two main components of the kernel in Modular OS Architecture?

Core components and LKM interfaces.

p.13
Types of System Calls

Which system calls are related to memory management?

Allocate and free memory.

p.13
Types of System Calls

What is a system call used for managing shared data?

Locks for shared data.

p.49
OS Structure

How is Modular OS Architecture similar to layered architecture?

It is similar but more flexible.

p.21
Types of System Calls

What system call number is associated with SYS_write?

4

p.21
Types of System Calls

What system call number is associated with SYS_stat?

38

p.48
OS Design and Implementation

What is a con of using a microkernel?

Less efficient than a monolithic kernel due to more message passing for user-to-kernel communication.

p.54
OS Design and Implementation

What significant change occurred to Android after the release of the iPhone in 2007?

A total redesign to support touch screens.

p.61
OS Structure

What is a hybrid OS structure?

A combination of monolithic or microkernel structures with modular components.

p.4
OS Services

What is the role of logging and accounting in an operating system?

To track system usage and resource consumption.

p.51
OS Design and Implementation

What is an example of a monolithic system that is somewhat layered?

Android, which uses the Linux kernel.

p.37
OS Structure

What is Layer OS Architecture?

An architecture that organizes the OS into layers, each with specific functions.

p.18
API

What is an API?

A set of library calls, which may or may not include system calls.

p.53
OS Structure

What is the kernel environment for macOS and iOS?

Darwin.

p.56
OS Structure

What library does Bionic replace in Android?

The standard C library.

p.53
OS Design and Implementation

What does the term 'layers' refer to in the context of macOS and iOS?

It refers to the structure of application frameworks, though they can be bypassed.

p.21
Types of System Calls

What system call number is associated with SYS_link?

9

p.51
OS Design and Implementation

What is an example of a microkernel combined with layered and loadable modules?

Darwin (macOS, iOS) with Mach microkernel and BSD Unix.

p.18
System Calls

What is the primary function of system calls?

They serve as the OS's interface to user code, allowing explicit requests to the kernel.

p.13
Types of System Calls

What is a type of system call related to managing processes?

Process Control.

p.15
Types of System Calls

What is the function of the 'close' system call?

It closes an open file.

p.2
System Boot

What is the System Boot process?

The sequence of events that occurs when a computer is powered on, leading to the loading of the operating system.

p.36
OS Services

What are some examples of executable file formats?

ELF, COFF, Mach-O, EXE, PE.

p.36
OS Services

What is a 'fat binary'?

A binary that contains multiple architectures for compatibility.

p.56
OS Structure

What is the purpose of the Hardware Abstraction Layer (HAL) in Android?

To provide a standard interface for hardware components.

p.21
Types of System Calls

What system call number is associated with SYS_read?

3

p.21
Types of System Calls

What system call number is associated with SYS_kill?

37

p.33
System Programs

What do overlay-loaders do?

Manage memory for larger programs by loading only necessary parts.

p.56
OS Structure

What programming language are Android applications primarily written in?

Java.

p.15
Types of System Calls

What does the 'reposition' system call do?

It changes the current position in a file.

p.56
OS Structure

What does JNI stand for in Android architecture?

Java Native Interface.

p.56
OS Structure

Why is Bionic considered smaller than glibc?

It is optimized for mobile devices and bypasses the GPL.

p.21
Types of System Calls

What is the purpose of the file sys/syscall.h?

It contains system call numbers and is automatically generated.

p.21
Types of System Calls

What system call number is associated with SYS_unmount?

22

p.43
OS Structure

What is the traditional structure of UNIX?

Beyond simple but not fully layered.

p.40
OS Structure

What is the primary goal of the simple structure in MS-DOS?

To use the least space.

Study Smarter, Not Harder
Study Smarter, Not Harder