Podcast
Questions and Answers
What is the role of the 'init' system process in UNIX?
What is the role of the 'init' system process in UNIX?
- It controls I/O devices directly.
- It starts other system daemons. (correct)
- It manages CPU scheduling.
- It handles memory allocation.
How does a device controller notify the CPU that it has completed its operation?
How does a device controller notify the CPU that it has completed its operation?
- By causing an interrupt. (correct)
- By sending a signal through the network.
- By executing a system call.
- By updating the local memory buffer.
What action does the CPU perform regarding data movement during I/O operations?
What action does the CPU perform regarding data movement during I/O operations?
- It moves data between local buffers and main memory. (correct)
- It transfers data directly to the main memory.
- It bypasses local buffers for efficiency.
- It only stores data in the device controller.
What is a trigger that indicates the occurrence of an event in a computer system?
What is a trigger that indicates the occurrence of an event in a computer system?
Which of the following statements about device controllers is true?
Which of the following statements about device controllers is true?
What is the primary function of the bootstrap program during startup?
What is the primary function of the bootstrap program during startup?
Where is the bootstrap program typically stored?
Where is the bootstrap program typically stored?
What does the kernel need to do after it is loaded by the bootstrap program?
What does the kernel need to do after it is loaded by the bootstrap program?
Which of the following best describes middleware in mobile operating systems?
Which of the following best describes middleware in mobile operating systems?
What does the common bus in a computer system do?
What does the common bus in a computer system do?
What occurs during the first stage of the loading process?
What occurs during the first stage of the loading process?
How does the kernel assess the available RAM upon loading?
How does the kernel assess the available RAM upon loading?
After the kernel begins executing, what primary service does it provide?
After the kernel begins executing, what primary service does it provide?
What is the primary responsibility of the operating system in process management?
What is the primary responsibility of the operating system in process management?
Which statement accurately describes a single-threaded process?
Which statement accurately describes a single-threaded process?
What resource must be reclaimed upon process termination?
What resource must be reclaimed upon process termination?
What is necessary for a process to execute a program?
What is necessary for a process to execute a program?
How does the system achieve concurrency among multiple processes?
How does the system achieve concurrency among multiple processes?
What does the device controller do after the device driver loads the appropriate registers?
What does the device controller do after the device driver loads the appropriate registers?
What is one disadvantage of using interrupt-driven I/O for bulk data movement?
What is one disadvantage of using interrupt-driven I/O for bulk data movement?
What defines the relationship in asymmetric multiprocessing?
What defines the relationship in asymmetric multiprocessing?
In symmetric multiprocessing (SMP), how do the processors operate?
In symmetric multiprocessing (SMP), how do the processors operate?
What does the device driver do after the device controller has finished an I/O operation?
What does the device driver do after the device controller has finished an I/O operation?
How does direct memory access (DMA) improve data transfer efficiency?
How does direct memory access (DMA) improve data transfer efficiency?
What is a key advantage of multicore processors over multiple single-core chips?
What is a key advantage of multicore processors over multiple single-core chips?
What is one potential benefit of adding CPUs in a multiprocessor system?
What is one potential benefit of adding CPUs in a multiprocessor system?
What is the main benefit of using DMA over interrupt-driven I/O?
What is the main benefit of using DMA over interrupt-driven I/O?
What characteristic is NOT typical of symmetric multiprocessing (SMP)?
What characteristic is NOT typical of symmetric multiprocessing (SMP)?
What type of information does a device driver return if the I/O operation was a read?
What type of information does a device driver return if the I/O operation was a read?
In a dual-core design, how do the cores interact with memory?
In a dual-core design, how do the cores interact with memory?
When using DMA, how many interrupts are generated per block transfer?
When using DMA, how many interrupts are generated per block transfer?
What must be done before a device controller can perform a DMA transfer?
What must be done before a device controller can perform a DMA transfer?
Which term describes the memory access model that may result from multiprocessing?
Which term describes the memory access model that may result from multiprocessing?
What is a common feature of a multicore processor compared to multiple separate processors?
What is a common feature of a multicore processor compared to multiple separate processors?
Flashcards are hidden until you start studying
Study Notes
Computer Startup
- Bootstrap program is loaded during power-up or reboot.
- It is typically stored in ROM or EPROM, also known as firmware.
- The bootstrap program initializes all system aspects, loads the operating system kernel, and starts its execution.
- The bootstrap program is loaded from the disk by the system's ROM during the first stage of the loading process.
- The bootstrap program initializes the CPU, installs banks, and launches the debug agent.
- It discovers available RAM and builds the kernel's virtual address space and device tree.
- The kernel is loaded by the bootstrap program and performs memory tests to determine the available RAM.
- The kernel identifies and configures devices, initializes the system, and starts system processes.
Computer System Organization
- One or more CPUs and device controllers connect through a common bus, providing access to shared memory.
- CPUs and devices run concurrently, competing for memory cycles.
Kernel and System Programs
- Once loaded and running, the kernel provides services to the system and its users.
- System programs are loaded into memory at boot time, becoming system processes or system daemons that run continuously while the kernel is active.
- On Unix-like systems, the first system process is "init", which starts many other daemons.
- The system is fully booted after this phase and waits for events.
I/O Devices and CPU Interaction
- I/O devices and the CPU can execute concurrently.
- Device controllers manage specific device types.
- Each device controller has a local buffer.
- The CPU moves data between main memory and local buffers.
- I/O occurs from the device to the controller's local buffer.
- The device controller informs the CPU about the completion of an operation using an interrupt.
- Interrupts are triggered by events from hardware or software.
- Hardware interrupts occur by sending signals to the CPU, usually through the system bus.
- Software interrupts occur by executing a system call, also known as a monitor call.
I/O Structure
- To start an I/O operation, the device driver loads registers in the device controller.
- The device controller analyzes these registers to determine actions, like reading from the keyboard.
- The controller transfers data between the device and its local buffer.
- The device controller notifies the driver via an interrupt when the data transfer is complete.
- The device driver returns control to the operating system, potentially returning the data or a pointer to it if the operation was a read.
- For other operations, the device driver returns status information.
- Interrupt-driven I/O is suitable for small data transfers but can be inefficient for large amounts of data, like disk I/O.
Direct Memory Access (DMA)
- DMA is a technique used to reduce overhead for bulk data transfers.
- The device controller, after setting up pointers and counters, transfers data directly between its buffer and memory, without CPU intervention.
- This method reduces the number of interrupts to one per block, instead of one per byte for low-speed devices.
- While the device controller performs DMA, the CPU handles other tasks.
Multiprocessing
- Two types of multiprocessing:
- Asymmetric Multiprocessing (AMP): Each processor is assigned a specific task. A central processor manages the system, while other processors either receive instructions from it or have predefined tasks. This creates a boss-worker relationship, and the boss processor schedules and allocates work.
- Symmetric Multiprocessing (SMP): All processors perform all tasks equally, forming a peer-to-peer relationship. Each processor has its own registers and a private cache, but they share physical memory.
Multiprocessor Architecture
- Multiprocessing aims to boost computing power by adding CPUs.
- Adding CPUs can also increase the addressable memory if the CPU has an integrated memory controller.
- Multiprocessing can alter the memory access model from UMA (uniform memory access) to NUMA (non-uniform memory access).
Multicore Systems
- Multicore systems are a recent trend where multiple computing cores reside on a single chip.
- They are more efficient than multi-chip designs because on-chip communication is faster than between-chip communication.
- Multicore systems consume less power compared to multiple single-core chips.
- Each core has its own register set and local cache; some designs use shared caches or a combination of local and shared caches.
Processes
- A program is a passive entity, while a process is an active entity.
- A process requires resources, such as CPU, memory, I/O, files, and initialization data, to accomplish tasks.
- Terminating a process requires reclaiming reusable resources.
- A single-threaded process has a single program counter pointing to the next instruction to execute.
- It executes instructions sequentially, one after another, until completion.
- A multi-threaded process has one program counter per thread.
- Typically, a system has many processes (user and operating-system) running concurrently on one or more CPUs.
- Concurrency is achieved by multiplexing the CPUs among the processes/threads.
Process management activities
- The operating system manages processes by:
- Creating and deleting user and system processes.
- Suspending and resuming processes.
- Providing synchronization mechanisms for processes.
- Providing communication mechanisms for processes.
- Providing deadlock handling mechanisms.
Memory Management
- To execute a program, all or parts of its instructions and data must be in memory.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.