Chapter 2 - Operating System Structure CCW

Created by simzhean

p.8

How do process control system calls manage memory?

Click to see answer

p.8

They allocate and free memory.

Click to see question

1 / 146
p.8
Types of System Calls

How do process control system calls manage memory?

They allocate and free memory.

p.25
Operating System Specificity for Applications

What are the two main operating systems developed by Apple?

macOS and iOS.

p.27
System Services and Their Functions

What framework does Android use for web browsing?

WebKit.

p.3
Definition and Purpose of System Calls

What is a system call?

A system call is a way for programs to request services from the operating system's kernel.

p.5
System Call Invocation Process

How does the system call interface maintain organization?

By maintaining a table indexed by system call numbers.

p.23
Hybrid Systems in Operating System Architecture

What design does Windows primarily follow?

Monolithic design.

p.5
System Call Invocation Process

What should a programmer focus on when using system calls?

The API and the expected behavior of the OS, without worrying about internal implementation details.

p.19
Operating System Specificity for Applications

What is the benefit of using standard languages like C for application development?

Apps can be compiled separately for each operating system, enhancing compatibility.

p.7
Parameter Passing Methods in System Calls

Which operating systems use Register Passing?

Some operating systems use this method.

p.19
Operating System Specificity for Applications

What is a characteristic of multi-operating system compatible applications?

They are designed to run on multiple operating systems.

p.19
Operating System Specificity for Applications

Which languages are often used for multi-OS compatibility?

Interpreted languages like Python and Ruby, which have interpreters available on multiple OSs.

p.26
Design and Implementation Goals for Operating Syst...

Who developed Android?

The Open Handset Alliance, largely led by Google.

p.18
Linkers and Loaders in Program Execution

How does the linker resolve references?

By connecting function calls and variable references across different object files.

p.15
System Services and Their Functions

What are application programs?

User-run programs that are not part of the operating system.

p.14
Parameter Passing Methods in System Calls

What is parameter passing via table?

A method where parameters are passed to a function or procedure using a table or array structure.

p.20
Design and Implementation Goals for Operating Syst...

What influences the internal structure of different operating systems?

Factors like hardware choice and system type.

p.14
Parameter Passing Methods in System Calls

In which scenarios is parameter passing via table particularly useful?

When dealing with a variable number of parameters or when parameters are of different types.

p.8
Types of System Calls

What can process control system calls do regarding processes?

They can end or abort processes.

p.7
Parameter Passing Methods in System Calls

What is a limitation of Register Passing?

It is limited by the number of available registers.

p.12
System Services and Their Functions

How can output be formatted and printed in system services?

Output can be formatted and printed to terminals or other devices.

p.24
Hybrid Systems in Operating System Architecture

What are the main components of the Mac OS X kernel?

Parts from the Mach microkernel and BSD Unix.

p.4
Common APIs for System Calls

What is another example of a Standard API?

POSIX (Portable Operating System Interface).

p.17
Linkers and Loaders in Program Execution

What are DLLs?

Dynamically linked libraries used in Windows that are loaded as needed.

p.10
Types of System Calls

What do information maintenance system calls manage?

Process, file, or device attributes.

p.6
Common APIs for System Calls

What is the relationship between an API and a system call?

An API provides a set of functions for applications to interact with the operating system, while a system call is a way for applications to request services from the OS.

p.6
Common APIs for System Calls

How do APIs facilitate system calls?

APIs serve as an interface that abstracts the complexity of system calls, allowing developers to use simpler function calls to access OS services.

p.6
Operating System Specificity for Applications

What role does the operating system play in the API-system call relationship?

The operating system processes the system calls made through the API, managing resources and providing the requested services.

p.12
System Services and Their Functions

What type of information can be retrieved under status information in system services?

System info such as date, time, memory, disk space, and users.

p.20
Design and Implementation Goals for Operating Syst...

What types of goals should be considered in the design of an operating system?

Both user goals and system goals.

p.5
System Call Invocation Process

How is the management of system calls supported at runtime?

By a runtime support library that includes functions in the compiler’s libraries.

p.13
System Services and Their Functions

What functionalities do communication services provide?

Create virtual connections among processes and users.

p.13
System Services and Their Functions

What types of activities can communication services enable?

Messaging, browsing, email, remote login, and file transfer.

p.25
Operating System Specificity for Applications

What is the primary purpose of iOS?

To run on Apple's mobile devices like iPhones and iPads.

p.28
Design and Implementation Goals for Operating Syst...

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

It allows Android to communicate with hardware components in a standardized way.

p.25
Operating System Specificity for Applications

What is the role of the App Store in iOS?

To distribute applications for iOS devices.

p.27
System Services and Their Functions

What type of database support does Android provide?

SQLite.

p.2
Common APIs for System Calls

Which API is employed in POSIX-based systems?

POSIX API, including UNIX, Linux, and Mac OS X.

p.11
Types of System Calls

What is the purpose of protection system calls?

To control access to resources.

p.16
Linkers and Loaders in Program Execution

What are relocatable object files?

Files that are designed to be loaded into any memory location after source code compilation.

p.16
Linkers and Loaders in Program Execution

What is the role of a linker?

To combine relocatable object files into a single binary executable file and bring in libraries.

p.19
Operating System Specificity for Applications

How do Virtual Machines (VMs) contribute to application compatibility?

They allow applications written in languages that include a VM, like Java, to run across different operating systems.

p.24
Hybrid Systems in Operating System Architecture

What type of system architecture does Mac OS X use?

Layered architecture.

p.13
System Services and Their Functions

What tools are included in programming-language support?

Compilers, assemblers, debuggers, and interpreters.

p.13
System Services and Their Functions

What are absolute loaders and relocatable loaders used for?

Program loading and execution.

p.7
Parameter Passing Methods in System Calls

What is Block (Table) Passing?

Parameters are stored in a block or table in memory, with the address passed in a register.

p.7
Parameter Passing Methods in System Calls

Which operating systems have adopted Block Passing?

Linux and Solaris.

p.4
Common APIs for System Calls

What does POSIX standardize?

It standardizes the interface for Unix-like operating systems.

p.17
Linkers and Loaders in Program Execution

How do dynamically linked libraries benefit processes?

They are shared by all processes using the same library version and are loaded only once.

p.10
Types of System Calls

What is a function of communication system calls?

Create and delete communication connections.

p.10
Types of System Calls

What does the shared-memory model facilitate?

Memory regions for communication.

p.22
Design and Implementation Goals for Operating Syst...

What does mechanism refer to in system design?

Describes how to achieve a task.

p.19
Operating System Specificity for Applications

Why are applications often not executable on different operating systems?

Because apps compiled on one system typically rely on unique system calls, file formats, and interfaces provided by that OS.

p.14
Parameter Passing Methods in System Calls

What are the advantages of using parameter passing via table?

It allows for a flexible number of parameters and can simplify the function signature.

p.16
Linkers and Loaders in Program Execution

Where does the binary executable reside before execution?

On secondary storage.

p.6
Types of System Calls

Why are system calls important in the context of APIs?

System calls are essential for enabling applications to perform operations that require OS-level access, such as file manipulation and process control.

p.18
Linkers and Loaders in Program Execution

What is the difference between static linking and dynamic linking?

Static linking combines all necessary code into a single executable, while dynamic linking loads libraries at runtime.

p.12
System Services and Their Functions

What do some systems use for configuration data?

A registry.

p.24
Hybrid Systems in Operating System Architecture

What additional features does the Mac OS X kernel include?

The I/O Kit and dynamically loadable modules (kernel extensions).

p.10
Types of System Calls

What is an example of an information maintenance system call?

Get and set time or date.

p.27
Common APIs for System Calls

In what programming language are Android apps primarily developed?

Java using the Android API.

p.3
Common APIs for System Calls

Which system call is used to create a new process?

fork() is the system call used to create a new process.

p.2
Common APIs for System Calls

How do programs usually interact with system calls?

Via high-level Application Programming Interfaces (APIs) rather than directly invoking system calls.

p.21
Design and Implementation Goals for Operating Syst...

Why is specifying and designing an OS considered a creative task?

Because it involves high levels of creativity in software engineering.

p.11
Types of System Calls

What can protection system calls set?

Permissions.

p.18
Linkers and Loaders in Program Execution

What is the primary role of a linker?

To combine multiple object files into a single executable file.

p.18
Linkers and Loaders in Program Execution

What does a loader do?

It loads the executable file into memory for execution.

p.13
System Services and Their Functions

What special commands are associated with file modification?

Commands for searching and text transformations.

p.5
System Call Invocation Process

What does the API do in relation to the OS interface?

It hides most of the OS interface details from the programmer.

p.26
Operating System Specificity for Applications

What type of kernel is Android based on?

A modified Linux kernel.

p.4
Common APIs for System Calls

Can you name an example of a Standard API?

The Windows API (WinAPI).

p.8
Types of System Calls

What functionality do process control system calls provide for shared data?

Locks for managing shared data access.

p.17
Linkers and Loaders in Program Execution

What is dynamic linking?

A method where modern systems don’t link libraries into executables but load dynamically linked libraries as needed.

p.7
Parameter Passing Methods in System Calls

What is a key advantage of Stack Passing?

There is no strict limit on the number or length of parameters.

p.3
Common APIs for System Calls

What system call is used to terminate a process?

exit() is the system call used to terminate a process.

p.28
Design and Implementation Goals for Operating Syst...

What is the Application Framework in Android architecture?

It provides the necessary tools and APIs for developers to create Android applications.

p.27
System Services and Their Functions

What is the smaller C library used in Android?

libc.

p.21
Design and Implementation Goals for Operating Syst...

What are the key goals of an operating system from a system perspective?

Easy to design, implement, and maintain; flexible; reliable; error-free; and efficient.

p.5
System Call Invocation Process

What is typically associated with each system call?

A unique number.

p.23
Hybrid Systems in Operating System Architecture

How do Linux and Solaris achieve modularity?

By allowing dynamic loading of functionality.

p.13
System Services and Their Functions

What is a primary function of text editors in system services?

File creation and modification.

p.23
Hybrid Systems in Operating System Architecture

What additional feature does Windows use alongside its monolithic design?

A microkernel for different subsystem personalities.

p.16
Linkers and Loaders in Program Execution

What must happen for a binary executable to execute?

It must be brought into memory by the loader.

p.12
System Services and Their Functions

What additional details can system services provide regarding performance?

Logging and debugging details.

p.24
Hybrid Systems in Operating System Architecture

What programming environment is combined with Aqua UI in Mac OS X?

Cocoa programming environment.

p.26
System Services and Their Functions

What additional features does Android include?

Power management features.

p.8
Types of System Calls

What can process control system calls wait for?

Time or events.

p.3
Common APIs for System Calls

What system call is used to read data from a file?

read() is the system call used to read data from a file.

p.28
Design and Implementation Goals for Operating Syst...

What does the Android Runtime (ART) do?

It executes Android applications and provides services such as garbage collection.

p.25
Operating System Specificity for Applications

What is the significance of the UNIX-based architecture in macOS?

It provides stability and security.

p.10
Types of System Calls

What type of information can be transferred using communication system calls?

Status information.

p.22
Design and Implementation Goals for Operating Syst...

How does separating policy from mechanism benefit system design?

It allows for easy changes, such as adjusting the interval from 100 to 200 seconds.

p.9
Types of System Calls

What are the main functions of file management system calls?

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

p.15
System Services and Their Functions

How are application programs launched?

Via command line, mouse clicks, or other interactions.

p.5
System Call Invocation Process

What happens when a program invokes a system call?

The interface directs the call to the OS kernel and returns the status and relevant values.

p.8
Types of System Calls

What is the purpose of process control system calls?

To create and terminate processes, load and execute programs, and manage process attributes.

p.26
Design and Implementation Goals for Operating Syst...

Is Android open source?

Yes, Android is open source.

p.18
Linkers and Loaders in Program Execution

What is an object file?

A file containing machine code generated by a compiler, which is not yet linked.

p.20
Design and Implementation Goals for Operating Syst...

What are some user expectations for an operating system?

Convenient to use, easy to learn, reliable, safe, and fast.

p.18
Linkers and Loaders in Program Execution

What is the purpose of relocation in the linking process?

To adjust addresses in the code and data sections to reflect their actual memory locations.

p.25
Operating System Specificity for Applications

What is the primary purpose of macOS?

To run on Apple's desktop and laptop computers.

p.8
Types of System Calls

What attributes can be managed by process control system calls?

Getting and setting process attributes.

p.3
Common APIs for System Calls

Which system call is used to write data to a file?

write() is the system call used to write data to a file.

p.28
Design and Implementation Goals for Operating Syst...

What are the libraries in Android architecture used for?

They provide a set of C/C++ libraries for various functionalities like graphics, database management, and web access.

p.3
Common APIs for System Calls

Which system call is used to allocate memory?

malloc() is often used in conjunction with system calls for memory allocation.

p.15
System Services and Their Functions

What are background services?

Services that launch at boot time and provide facilities like disk checking, process scheduling, error logging, and printing.

p.23
Hybrid Systems in Operating System Architecture

What type of kernel do Linux and Solaris use?

Monolithic kernels that also incorporate modularity for dynamic loading.

p.11
Types of System Calls

What do protection system calls allow or deny?

User access.

p.9
Types of System Calls

What does logically attaching or detaching devices refer to?

It refers to managing the connection status of devices through system calls.

p.20
Design and Implementation Goals for Operating Syst...

What is the starting point for the design process of an operating system?

Defining clear goals and specifications.

p.4
Common APIs for System Calls

What is a Standard API?

A set of routines, protocols, and tools for building software and applications.

p.24
Hybrid Systems in Operating System Architecture

What user interface does Mac OS X utilize?

Aqua UI.

p.26
System Services and Their Functions

What management features does Android provide?

Process, memory, and device-driver management.

p.4
Common APIs for System Calls

What does the Windows API provide?

Functions for managing windows, files, and devices in Windows operating systems.

p.28
Design and Implementation Goals for Operating Syst...

What are the main components of Android architecture?

Linux Kernel, Hardware Abstraction Layer (HAL), Android Runtime, Libraries, and Application Framework.

p.27
Definition and Purpose of System Calls

What is the core runtime environment of Android based on?

The Dalvik virtual machine.

p.17
Linkers and Loaders in Program Execution

What do object and executable files follow?

Standard formats that the operating system knows how to load and start.

p.10
Types of System Calls

What model is used for sending and receiving messages in communication system calls?

Message passing model.

p.2
Common APIs for System Calls

What is the Win32 API used for?

It is used for Windows OS.

p.15
System Services and Their Functions

In what context do background services run?

In user context (services, subsystems, daemons).

p.9
Types of System Calls

What can you do with device management system calls?

Request and release devices, read, write, and reposition data on devices, and get and set device attributes.

p.9
Types of System Calls

What is a function of file management related to file attributes?

Get and set file attributes.

p.12
System Services and Their Functions

What are the main functions of file management in system services?

Create, delete, copy, rename, print, dump, and manipulate files and directories.

p.7
Parameter Passing Methods in System Calls

What is Register Passing in system calls?

The simplest method where parameters are passed directly in registers.

p.14
Parameter Passing Methods in System Calls

How does parameter passing via table differ from traditional methods?

Traditional methods pass parameters directly, while table passing uses a structured format to encapsulate them.

p.4
Common APIs for System Calls

What is the purpose of a Standard API?

To allow different software components to communicate and interact with each other.

p.8
Types of System Calls

What debugging tools are provided by process control system calls?

Single-step execution and memory dumps.

p.17
Linkers and Loaders in Program Execution

What is the purpose of relocation in linkers and loaders?

To assign final addresses to program parts and adjust code and data to match those addresses.

p.3
Common APIs for System Calls

Can you name a common system call for file operations?

open() is a common system call used to open files.

p.25
Operating System Specificity for Applications

What is a key feature of both macOS and iOS?

They share a similar underlying architecture.

p.3
Common APIs for System Calls

What system call is used to change the current working directory?

chdir() is the system call used to change the current working directory.

p.22
Design and Implementation Goals for Operating Syst...

Give an example of a policy.

Setting an interrupt after every 100 seconds.

p.22
Design and Implementation Goals for Operating Syst...

What is the principle behind separating policy from mechanism?

Allows flexibility for changing policy decisions.

p.2
Definition and Purpose of System Calls

What is the definition of system calls?

System calls serve as the programming interface to the services provided by the operating system (OS).

p.26
Operating System Specificity for Applications

How does the stack of Android compare to iOS?

Android has a similar stack to iOS.

p.28
Design and Implementation Goals for Operating Syst...

What role does the Linux Kernel play in Android architecture?

It provides core system services such as security, memory management, and process management.

p.25
Operating System Specificity for Applications

How do macOS and iOS differ in user interface?

macOS uses a desktop interface, while iOS uses a touch-based interface.

p.27
System Services and Their Functions

What multimedia capabilities does Android offer?

Multimedia capabilities for audio and video.

p.2
Common APIs for System Calls

What is the Java API specifically designed for?

It is specifically for the Java virtual machine (JVM).

p.2
Definition and Purpose of System Calls

What is the primary purpose of system calls?

They allow computer programs to request services from the OS kernel.

p.7
Parameter Passing Methods in System Calls

What is Stack Passing?

Parameters are pushed onto the stack by the program and popped off by the operating system.

p.10
Types of System Calls

What can be retrieved using information maintenance system calls?

System data.

p.27
System Call Invocation Process

What happens to Java class files in the Android environment?

They are compiled to bytecode and then translated to executable code in the Dalvik VM.

p.2
Common APIs for System Calls

In which languages are system calls typically written?

High-level languages like C or C++.

p.10
Types of System Calls

What can communication system calls do with remote devices?

Attach and detach remote devices.

p.22
Design and Implementation Goals for Operating Syst...

What is the definition of policy in the context of system design?

Defines what needs to be done.

p.22
Design and Implementation Goals for Operating Syst...

Provide an example of a mechanism.

Using a timer.

Study Smarter, Not Harder
Study Smarter, Not Harder