What are the key goals of an operating system from a system perspective?
Click to see answer
Easy to design, implement, and maintain; flexible; reliable; error-free; and efficient.
Click to see question
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.
What are background services?
Services that launch at boot time and provide facilities like disk checking, process scheduling, error logging, and printing.
Why is specifying and designing an OS considered a creative task?
Because it involves high levels of creativity in software engineering.
In what context do background services run?
In user context (services, subsystems, daemons).
What is the purpose of protection system calls?
To control access to resources.
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.
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.
What are application programs?
User-run programs that are not part of the operating system.
What is typically associated with each system call?
A unique number.
What type of kernel do Linux and Solaris use?
Monolithic kernels that also incorporate modularity for dynamic loading.
What can protection system calls set?
Permissions.
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.
What is a characteristic of multi-operating system compatible applications?
They are designed to run on multiple operating systems.
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.
What are relocatable object files?
Files that are designed to be loaded into any memory location after source code compilation.
How are application programs launched?
Via command line, mouse clicks, or other interactions.
How does the system call interface maintain organization?
By maintaining a table indexed by system call numbers.
What is parameter passing via table?
A method where parameters are passed to a function or procedure using a table or array structure.
How do Linux and Solaris achieve modularity?
By allowing dynamic loading of functionality.
What do protection system calls allow or deny?
User access.
What is the primary role of a linker?
To combine multiple object files into a single executable file.
What is a function of file management related to file attributes?
Get and set file attributes.
Which languages are often used for multi-OS compatibility?
Interpreted languages like Python and Ruby, which have interpreters available on multiple OSs.
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.
What is the role of a linker?
To combine relocatable object files into a single binary executable file and bring in libraries.
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.
What are the advantages of using parameter passing via table?
It allows for a flexible number of parameters and can simplify the function signature.
What design does Windows primarily follow?
Monolithic design.
What influences the internal structure of different operating systems?
Factors like hardware choice and system type.
What is a primary function of text editors in system services?
File creation and modification.
What does logically attaching or detaching devices refer to?
It refers to managing the connection status of devices through system calls.
What does a loader do?
It loads the executable file into memory for execution.
What are the main functions of file management in system services?
Create, delete, copy, rename, print, dump, and manipulate files and directories.
Who developed Android?
The Open Handset Alliance, largely led by Google.
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.
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.
What is the purpose of process control system calls?
To create and terminate processes, load and execute programs, and manage process attributes.
Where does the binary executable reside before execution?
On secondary storage.
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.
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.
What additional feature does Windows use alongside its monolithic design?
A microkernel for different subsystem personalities.
What is the starting point for the design process of an operating system?
Defining clear goals and specifications.
What special commands are associated with file modification?
Commands for searching and text transformations.
What is Register Passing in system calls?
The simplest method where parameters are passed directly in registers.
How does the linker resolve references?
By connecting function calls and variable references across different object files.
What type of information can be retrieved under status information in system services?
System info such as date, time, memory, disk space, and users.
What type of system architecture does Mac OS X use?
Layered architecture.
Is Android open source?
Yes, Android is open source.
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.
What is the benefit of using standard languages like C for application development?
Apps can be compiled separately for each operating system, enhancing compatibility.
What can process control system calls do regarding processes?
They can end or abort processes.
What must happen for a binary executable to execute?
It must be brought into memory by the loader.
What is a Standard API?
A set of routines, protocols, and tools for building software and applications.
What does the API do in relation to the OS interface?
It hides most of the OS interface details from the programmer.
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.
What types of goals should be considered in the design of an operating system?
Both user goals and system goals.
What tools are included in programming-language support?
Compilers, assemblers, debuggers, and interpreters.
What is an object file?
A file containing machine code generated by a compiler, which is not yet linked.
What is a limitation of Register Passing?
It is limited by the number of available registers.
What additional details can system services provide regarding performance?
Logging and debugging details.
What user interface does Mac OS X utilize?
Aqua UI.
What type of kernel is Android based on?
A modified Linux kernel.
What is the purpose of a Standard API?
To allow different software components to communicate and interact with each other.
How do process control system calls manage memory?
They allocate and free memory.
How is the management of system calls supported at runtime?
By a runtime support library that includes functions in the compiler’s libraries.
What are absolute loaders and relocatable loaders used for?
Program loading and execution.
What are some user expectations for an operating system?
Convenient to use, easy to learn, reliable, safe, and fast.
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.
Which operating systems use Register Passing?
Some operating systems use this method.
How can output be formatted and printed in system services?
Output can be formatted and printed to terminals or other devices.
What programming environment is combined with Aqua UI in Mac OS X?
Cocoa programming environment.
What management features does Android provide?
Process, memory, and device-driver management.
Can you name an example of a Standard API?
The Windows API (WinAPI).
What debugging tools are provided by process control system calls?
Single-step execution and memory dumps.
What functionalities do communication services provide?
Create virtual connections among processes and users.
What is Block (Table) Passing?
Parameters are stored in a block or table in memory, with the address passed in a register.
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.
What do some systems use for configuration data?
A registry.
What are the two main operating systems developed by Apple?
macOS and iOS.
What are the main components of the Mac OS X kernel?
Parts from the Mach microkernel and BSD Unix.
What additional features does Android include?
Power management features.
What does the Windows API provide?
Functions for managing windows, files, and devices in Windows operating systems.
What functionality do process control system calls provide for shared data?
Locks for managing shared data access.
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.
What is a system call?
A system call is a way for programs to request services from the operating system's kernel.
What types of activities can communication services enable?
Messaging, browsing, email, remote login, and file transfer.
Which operating systems have adopted Block Passing?
Linux and Solaris.
What is the primary purpose of macOS?
To run on Apple's desktop and laptop computers.
What additional features does the Mac OS X kernel include?
The I/O Kit and dynamically loadable modules (kernel extensions).
How does the stack of Android compare to iOS?
Android has a similar stack to iOS.
What is another example of a Standard API?
POSIX (Portable Operating System Interface).
What can process control system calls wait for?
Time or events.
What are the main components of Android architecture?
Linux Kernel, Hardware Abstraction Layer (HAL), Android Runtime, Libraries, and Application Framework.
What is dynamic linking?
A method where modern systems don’t link libraries into executables but load dynamically linked libraries as needed.
Can you name a common system call for file operations?
open() is a common system call used to open files.
What is Stack Passing?
Parameters are pushed onto the stack by the program and popped off by the operating system.
What is the primary purpose of iOS?
To run on Apple's mobile devices like iPhones and iPads.
What does POSIX standardize?
It standardizes the interface for Unix-like operating systems.
What attributes can be managed by process control system calls?
Getting and setting process attributes.
What is an example of an information maintenance system call?
Get and set time or date.
What role does the Linux Kernel play in Android architecture?
It provides core system services such as security, memory management, and process management.
What are DLLs?
Dynamically linked libraries used in Windows that are loaded as needed.
What system call is used to read data from a file?
read() is the system call used to read data from a file.
What is the core runtime environment of Android based on?
The Dalvik virtual machine.
What is a key advantage of Stack Passing?
There is no strict limit on the number or length of parameters.
What is a key feature of both macOS and iOS?
They share a similar underlying architecture.
What can be retrieved using information maintenance system calls?
System data.
What is the purpose of the Hardware Abstraction Layer (HAL) in Android?
It allows Android to communicate with hardware components in a standardized way.
How do dynamically linked libraries benefit processes?
They are shared by all processes using the same library version and are loaded only once.
Which system call is used to write data to a file?
write() is the system call used to write data to a file.
In what programming language are Android apps primarily developed?
Java using the Android API.
How do macOS and iOS differ in user interface?
macOS uses a desktop interface, while iOS uses a touch-based interface.
What do information maintenance system calls manage?
Process, file, or device attributes.
What does the Android Runtime (ART) do?
It executes Android applications and provides services such as garbage collection.
What do object and executable files follow?
Standard formats that the operating system knows how to load and start.
What system call is used to terminate a process?
exit() is the system call used to terminate a process.
What is the definition of system calls?
System calls serve as the programming interface to the services provided by the operating system (OS).
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.
What is the role of the App Store in iOS?
To distribute applications for iOS devices.
What is a function of communication system calls?
Create and delete communication connections.
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.
Which system call is used to create a new process?
fork() is the system call used to create a new process.
What is the primary purpose of system calls?
They allow computer programs to request services from the OS kernel.
What framework does Android use for web browsing?
WebKit.
What is the significance of the UNIX-based architecture in macOS?
It provides stability and security.
What model is used for sending and receiving messages in communication system calls?
Message passing model.
What is the Application Framework in Android architecture?
It provides the necessary tools and APIs for developers to create Android applications.
What system call is used to change the current working directory?
chdir() is the system call used to change the current working directory.
In which languages are system calls typically written?
High-level languages like C or C++.
What type of database support does Android provide?
SQLite.
What does the shared-memory model facilitate?
Memory regions for communication.
Which system call is used to allocate memory?
malloc() is often used in conjunction with system calls for memory allocation.
How do programs usually interact with system calls?
Via high-level Application Programming Interfaces (APIs) rather than directly invoking system calls.
What multimedia capabilities does Android offer?
Multimedia capabilities for audio and video.
What is the definition of policy in the context of system design?
Defines what needs to be done.
What type of information can be transferred using communication system calls?
Status information.
What is the Win32 API used for?
It is used for Windows OS.
What is the smaller C library used in Android?
libc.
Give an example of a policy.
Setting an interrupt after every 100 seconds.
What can communication system calls do with remote devices?
Attach and detach remote devices.
Which API is employed in POSIX-based systems?
POSIX API, including UNIX, Linux, and Mac OS X.
What does mechanism refer to in system design?
Describes how to achieve a task.
What is the Java API specifically designed for?
It is specifically for the Java virtual machine (JVM).
Provide an example of a mechanism.
Using a timer.
What is the principle behind separating policy from mechanism?
Allows flexibility for changing policy decisions.
How does separating policy from mechanism benefit system design?
It allows for easy changes, such as adjusting the interval from 100 to 200 seconds.