Duplicate
Export
Register
😊
Chapter 1
1 Flashcard Deck
Untitled Flashcards
Study
Operating System Definiton
The operating system is the kernel program and nothing more.
What are the components of a computer system?
Hardware and software
What is included in hardware?
Processors, I/O devices, memory, and secondary storage
What is included in software?
Operating system and applications
What is the purpose of the operating system?
To interact directly with the hardware
What is included in the application layer of software?
Software development tools, web browsers, media editors and viewers, shells, commands, etc.
Where is user data located in the computer system?
In the application layer
Layered Structure of Computer System
The components of a computer system form a sequence of layers: users (people and/or devices) application layer (applications, shells, commands) operating system hardware layer (processors, memory,devices, etc.) Only adjacent layers have interactions with each other. For example, • applications do not directly communicate with or control hardware, and • users only interact with the application layer (which includes shells like bash in Linux.)
Users
People and/or devices that interact with the computer system.
Application Layer
Layer of a computer system that includes applications, shells, and commands.
Operating System
Software that manages and controls the computer hardware and provides services to applications.
Hardware Layer
Layer of a computer system that includes processors, memory, devices, etc.
Operating System Requirements
The operating system has three important responsibilities: 1. Control hardware resources 2. Enable and control execution of software 3. Allow users to develop, run, and manage applications and data
User Requirements
Users want efficient use of time, secure data, convenience and ease of use, and selective sharing of data and applications
Value Creation
Computer exists to produce value for its owner; more productive computer leads to more value creation
Additional Requirements
Efficient resource utilization, protection against abuses, resource allocation among users
Managing Resources
Operating system should allow reliable sharing of data and applications
Security and Protection
Operating system should provide security and protection for hardware and software
Error Handling and Recovery
Operating system should provide robust error handling and recovery
Resource Allocation
Operating system should allocate resources fairly, maximize throughput, minimize response time, and maximize hardware utilization
Program execution
Loading and executing programs; providing synchronization, communication, and security
I/O operations
Providing all I/O services to users and applications
File systems
Creating and maintaining file systems and means of manipulating them
Communication
Providing mechanisms that allow programs to communicate with each other
Error detection and recovery
Detecting and handling error conditions
Protection and security
Preventing unauthorized or improper access to all resources, and protecting users from each other's attempts to invade privacy or corrupt data
Accounting
Monitoring and recording various performance and utilization metrics, for both users and the system
What are system programs?
System programs are typically programs shipped or downloaded when the operating system is installed.
Examples of system programs
Software updaters/package managers, compilers, linkers, loaders, debuggers, file management commands
Where are system programs found on a Linux system?
System programs are found in the directories /bin, /usr/bin, /usr/sbin, and /sbin.
Can system programs be invoked through a graphical user interface?
Some system programs can be invoked through a graphical user interface such as Gnome.
What is the difference between system programs and applications?
System programs are programs shipped or downloaded with the operating system, while applications are programs that you install separately.
Where are applications typically installed?
Applications are typically installed in the directories /usr/local/bin or /opt.
What does a typical computer consist of?
A typical computer consists of one or more CPUs, one or more memory units, and a set of device controllers.
What is the common bus that connects the components of a computer called?
The common bus that connects the components of a computer is usually called the system bus.
What is a multi-core processor?
When several processors are integrated into a single chip, each one is called a core and the machine itself is called a multi-core processor.
What is a system bus?
The system bus is a single communication path that connects the major components of a computer system, combining the functionality of a data bus, an address bus, and a control bus.
What is the width of a bus?
The number of wires in a system bus is called the width of the bus.
What are memory units?
Memory units are self-contained primary storage devices connected directly to the system bus. They are usually volatile and controlled by a memory controller.
What role does a memory controller play?
A memory controller synchronizes access to the memory from the devices that want to access it and responds to requests to transfer data to and from memory.
What is an interrupt?
An interrupt is a temporary break in the continuity of the process running on the processor in order to respond to some condition needing attention.
What happens when an interrupt takes place?
When an interrupt takes place, the state of the processor is saved, and special code runs that handles the specific condition requiring attention.
What is an interrupt service routine (ISR) or an interrupt handler?
An interrupt service routine (ISR) or an interrupt handler is the code that runs when an interrupt occurs. It handles the specific condition requiring attention.
What is an interrupt request?
An interrupt request is a signal sent by a device needing attention to the processor. It triggers an interrupt and initiates the execution of the interrupt service routine.
What is the acronym IRQ?
IRQ stands for interrupt request. It is used to refer to the signal sent by a device needing attention.
What is a device controller?
A special-purpose processor that controls a specific type of device.
What are some examples of devices that a device controller can control?
Devices such as disks or keyboards.
Can a device controller be connected to multiple instances of a device?
Yes, it may be connected to multiple instances of the same type of device.
What are some components of a device controller?
Special-purpose registers, buffer memory, and control logic.
What is the main task of a device controller?
To move data between the devices it controls and its local memory.
What can a device controller do with the attached devices?
It can respond to instructions, query the device status, and control the data transfer.
What is a device driver?
A program or software module that can drive a controller by knowing its instruction set and interface.
What actions can a device driver perform on a device?
It can send instructions to the device to perform actions such as reading data from a disk, transferring data to a memory location, or starting/stopping the device.
What is the primary purpose of device drivers?
To provide a layer of abstraction, so that operating system programmers do not need to know the details of the device controllers to write code to perform tasks using those devices.
What is the role of a device driver in communicating with hardware?
A device driver hides the hardware-specific differences and presents a common software interface to the operating system programmer, allowing them to interact with the device using the same interface regardless of the underlying hardware.
Method 1: Polling the Devices (Rarely Used)
An IRQ is received by the CPU but it does not indicate which device caused the interrupt. There is a single ISR that runs when an interrupt occurs. This ISR sends a signal to each device that amounts to the question, 'did you just send an IRQ?'. The first device to answer 'yes' is the one that will be serviced. The ISR has code that causes a jump to the correct device driver. This method is called polling because it polls each device. It is inefficient.
Method 2: Vectored Interrupts (Almost Always Used)
The interrupt lines on the bus are vectored: each device can send its identity along with the IRQ. When the CPU receives the IRQ, it can extract the identity of the device that needs service. The identity is an integer value. The system maintains a table, usually in low memory, that maps each integer device identity to the starting address of its ISR. This table is called the interrupt vector or the interrupt vector table. If there are many devices, sometimes the table is a linked list of ISR addresses.
What is a maskable interrupt?
A maskable interrupt is one that can be disabled temporarily using the interrupt mask register.
What is an interrupt mask register?
An interrupt mask register is a register that contains a bit for each interrupt type, used to determine whether or not to disable (i.e., mask) the interrupt.
Are maskable interrupts critical?
No, maskable interrupts are non-critical.
What is a non-maskable interrupt?
A non-maskable interrupt is one that cannot be disabled. It must be serviced and is not affected by the interrupt mask register.
Give examples of non-maskable interrupts.
Examples of non-maskable interrupts include errors from memory and timer interrupts.
What does disabling an interrupt mean?
In some systems, disabling an interrupt means ignoring it completely.
Can interrupts be deferred if they are disabled?
In some systems, it is possible to defer processing the interrupt if it is disabled. Deferred interrupts are saved, usually in a queue, and handled in a specific order at a future time.
What is the concept of interrupt priority?
Some interrupts have higher priorities than others - if a higher priority request occurs, it should interrupt the current ISR.
How can the mask register be used to set the interrupt priority level of the processor?
The mask register can be used to set the interrupt priority level of the processor using a left-to-right ordering of the mask bits.
How can the processor mask interrupts whose priority is lower than a given one?
By turning off all bits to the right of a given bit, the processor masks all interrupts whose priority is lower than the given one.
What happens when a lower priority interrupt occurs?
If a lower priority interrupt occurs, it is ignored.
What happens when an interrupt occurs that is at equal or higher priority?
If an interrupt occurs that is at equal or higher priority, the currently running ISR is interrupted and the ISR for the new one runs.
What is an exception?
An exception is a software-generated interrupt caused by the execution of a software instruction.
Give examples of exceptions.
Examples of exceptions are floating-point errors such as divide-by-zero, attempts to execute invalid opcodes, and attempts to access memory locations outside of the process's allowed memory.
What is a trap?
A trap is a specific type of exception and is defined as a programmer-initiated transfer of control to a handler routine. It is often used as a synonym for exception but not all exceptions are traps.
How is a trap defined in the Intel 80x86 architecture?
In the Intel 80x86 architecture, a trap is defined as a programmer-initiated (and consequently expected) transfer of control to a handler routine. The 'int' assembly instruction is an example of a trap.
What is the difference between a trap and an exception?
Traps are actual instructions coded into programs intentionally to cause an interrupt, whereas exceptions are any interrupts generated by software.
How are traps and exceptions distinguished on Intel chips?
On Intel chips, the 'eip' register is queried to decide the type of interrupt.
What is Capacity?
Total amount of stored information that a storage medium or device can hold
What is Volatility?
Refers to whether or not the information stored on a storage medium is retained when power is not continuously supplied to that medium
What is Access time?
The amount of time it takes the medium or device to access the information at a given location
What is Accessibility?
Refers to the two different types of access to the locations on a storage medium - random access and sequential access
What is Random access?
Type of access where all locations on a storage medium can be accessed in about the same amount of time
What is Sequential access?
Type of access where the information must be accessed in sequential order, and the time to access a particular piece of information depends on its location on the medium
What is the smallest unit of information?
A bit
How many possible values does a bit have?
2
What is the smallest addressable unit of storage in a computer?
A byte
How many bits are there in a byte?
8
What does 4096B mean?
4096 bytes
What is the size of a word in a computer?
The size of a computer's native unit of data
What components' size does a word typically match?
General-purpose register, machine instruction, data chunk transferred to and from memory
What is a word made up of?
One or more bytes
What is the word length or word size?
The number of bits in a word
What does a '64-bit' architecture mean?
A word length of 64 bits or eight bytes, 64-bit registers, and 64-bit memory addresses
What is primary storage?
Storage that is directly accessible to the processor.
What is secondary storage?
Storage that is not directly accessible to the processor, but can be accessed through the I/O channels.
What is tertiary storage?
Storage that is not directly accessible to the processor and cannot be accessed through the I/O channels without intervention.
Memory Hierarchy
The hierarchy of memory components where components near the top are faster and have smaller capacity than those further away.
Registers
The fastest and smallest capacity memory component, located directly in the CPU.
CPU Caches
Memory components that are faster than random access memory (RAM), but slower than registers. Located between the registers and RAM.
Random Access Memory (RAM)
The main memory of a computer, slower than CPU caches but faster than magnetic disks.
Magnetic Disks
Storage devices that provide non-volatile, high-capacity storage. Slower than RAM.
Tertiary Storage
Storage devices that are orders of magnitude slower than magnetic disks.
Levels in the Memory Hierarchy
The different levels or layers of memory in the hierarchy, starting from the CPU and moving further away.
What is the fastest storage in a computer system?
CPU registers
What is the capacity of CPU registers?
Small
What is stored in RAM?
Operating system, programs, and data and its also called primary memory
Is RAM volatile or non-volatile?
Volatile
What is the most common technology used to implement RAM?
Dynamic Random Access Memory (DRAM)
Why is DRAM called dynamic?
Because the information is stored in capacitors and needs to be periodically refreshed with energy
What makes DRAM slower than SRAM?
Refresh cycles and the need to read data which destroys the capacitor contents
What is the main usage of SRAM?
Processor cache and more expensive than DRAM
Are magnetic disks volatile or non-volatile?
Non-volatile
Where does the file system reside?
On magnetic disks
What type of storage do magnetic disks provide?
Swap space
What is the purpose of swap space?
To extend the capacity of primary memory in virtual memory systems
What is another type of secondary storage medium?
Solid-state drives
Do solid-state drives have larger or smaller capacity than magnetic disks?
Smaller
What type of files and data are solid-state drives more suited for?
Mostly read-only files and data, such as operating system software
What is tertiary storage used for?
Tertiary storage is used for backing up systems or archiving data.
What are some examples of tertiary storage media?
Some examples of tertiary storage media are optical disks and magnetic tapes.
What are the limitations of optical disks as tertiary storage?
The capacity of optical disks is small and the ability to write and rewrite them is limited. DVD disks can store no more than a few gigabytes and Blu-ray disks a few hundred gigabytes.
What is the capacity of a magnetic tape as tertiary storage?
A magnetic tape can store several terabytes, with recent advances pushing the capacity to over 500TB.
How do external hard disks compare to internal disks in terms of capacity and speed?
External hard disks have the same range of capacities as internal disks but are slightly slower because they are accessed through a slower bus.
What is cache?
A fast but small storage component used as a temporary holding area for data to improve performance.
What is the purpose of a cache?
To hold frequently used data or instructions to improve performance.
Where is cache used?
Cache is used by processors, hard disk drives, secondary storage devices, and web browsers.
What is the purpose of registers in the CPU?
Registers in the CPU are fast but limited in capacity. They are used to store frequently used data.
Why is access to DRAM slow?
DRAM is slower to access because the processor needs to put requests on the system bus and wait for the data to be available.
What are the advantages and disadvantages of SRAM?
SRAM is faster than DRAM but has a smaller capacity and is more expensive. It is also larger in size.
What is processor cache?
Processor cache is a level of memory hierarchy between the CPU and main memory. It is made of SRAM and stores frequently accessed data and instructions, reducing accesses to slower DRAM.
How does the processor cache work?
When data is missing in the cache, it is copied into it from main memory for faster access in the future.
What are examples of slow devices that handle small chunks of data?
Keyboards and pointing devices
What is Direct Memory Access (DMA)?
A method of I/O that transfers data at a high bandwidth with low overhead and removes the processor from the operation of transferring large amounts of data to or from a device.
What is the role of a DMA controller?
A device that takes charge of the I/O transfers to memory and becomes the bus master until the I/O is completed.
Which devices use DMA?
Disk drive controllers, graphics cards, network cards, sound cards
What information does the CPU provide to the DMA controller?
The memory address, number of bytes to transfer, read or write flag, and address of the I/O device and data involved in the I/O.
What happens when the DMA controller becomes the bus master on the memory bus?
It takes control of the bus and can initiate data transfers between the I/O device and memory.
What does the DMA controller do during an input operation?
It receives data from the I/O device, buffers the data, and stores it in successive memory locations as it becomes available.
What does the DMA controller do during an output operation?
It buffers data from memory and sends it to the I/O device as it becomes ready to receive it.
What happens when the transfer is complete?
The DMA controller relinquishes the bus and sends an interrupt to the processor.
What is the impact on CPU access to memory during a DMA transfer?
The CPU will be delayed in accessing memory as the DMA controller owns the bus during the transfer.
What are the main components of a CPU?
Arithmetic-Logic Unit, Registers, Control Unit
What are the special-purpose processors found in single-processor computers?
Graphics accelerators, DMA controllers, Disk controllers
What is a multicomputer?
A computer with multiple CPUs that do not share memory
What is a multiprocessor?
A computer with multiple processors and a shared memory
What is the difference between a multicomputer and a multiprocessor in terms of memory access?
In a multicomputer, each CPU has its own memory address space and can access only its private memory. In a multiprocessor, the same address generated on two different processors refers to the same memory location.
Multicomputer Architecture
An architecture that consists of multiple computers connected to each other.
What is a symmetric multiprocessor (SMP) or a uniform memory-access processor (UMA)?
When the processors are identical to each other, memory is shared, and access time to memory is the same for each.
How are SMPs manufactured?
Some SMPs are manufactured as a single chip or socket containing two or more CPUs. The CPUs in this case are always called cores.
What is the advantage of the single chip design in SMPs?
The advantage of the single chip design is speed: on-chip communication is faster than between-chip communication. Also, one chip with multiple cores uses significantly less power than multiple single-core chips.
What is a non-uniform memory access (NUMA) multiprocessor?
A non-uniform memory access (NUMA) multiprocessor is one in which each CPU has a local memory that can be accessed through a fast local bus. The CPUs are connected by a shared interconnection network that enables all CPUs to share one memory address space. Memory access is non-uniform because when a CPU accesses its local memory, it is fast and contention-free, but when it accesses the local memory of another CPU, it is slower because the access is through the shared interconnection network.
What is a clustered computer system?
A collection of independent computers connected by a LAN, sharing a common storage device, and can distribute computational jobs among them.
What are the nodes in a clustered computer system?
The individual computers that make up the system.
What is the purpose of clustering?
To provide high availability and fault tolerance by distributing computational jobs among multiple nodes.
What is an asymmetric cluster?
A cluster with one node in hot-standby mode.
What is a symmetric cluster?
A cluster with multiple nodes running applications and monitoring each other for high-performance computing.
What is the process of starting and initializing a computer called?
Bootstrapping or booting
What is the small program executed when power is turned on in a computer?
BIOS (Basic Input Output System) or UEFI (Unified Extensible Firmware Interface)
What does the second-stage program in the boot process do?
Loads the operating system kernel into memory and performs configuration
What are the programs that provide system services called?
System daemons
Examples of system daemons in Unix
sshd (listens for ssh connections), logind (listens for login attempts on the console), systemd (brings up and maintains all services for the computer users)
What happens after all daemons are started in the boot process?
The kernel waits for a user to login or runs specified start-up programs
When is booting considered complete?
When the kernel waits for a user to login or runs specified start-up programs
What was the initial state of computer systems?
Single-user systems
How did the operating system handle program execution in single-user systems?
The operating system would control execution of one program at a time, initializing it, letting it run to completion, and then starting the next.
Why did computer systems change from single-user to multiprogramming systems?
When a program makes a request for I/O, it must wait until the I/O operation is completed. This leads to the CPU being idle, which is a waste of resources. By allowing multiple programs to be in memory at a time, the operating system can switch among them, keeping the CPU busy.
What is the purpose of keeping more than one program in memory?
To switch among the memory-resident programs so that the CPU always has a program ready to run.
What is an operating system called that can keep more than one program in memory at a time?
A multiprogramming system.
What does the term multiprogramming mean?
Keeping more than one program in memory at a time.
What is the degree of multiprogramming?
The number of programs in memory at any time.
What is the purpose of multiprogramming?
The purpose of multiprogramming is to increase CPU utilization.
How is CPU utilization defined?
CPU utilization is defined as the fraction of time that the CPU does useful work.
What is a batch job?
A program that can run without user intervention, typically processing large amounts of data.
What does it mean for a program to run in the background?
It means that the program is running without user interaction or visibility.
Where are batch jobs typically run?
Batch jobs are typically run in high-performance computing centers or data centers.
What is batch processing?
Batch processing is a type of multiprogramming system where several programs are memory-resident and run to completion.
Why do jobs submitted to a batch processing system sometimes wait a long time to run?
Jobs may wait because all jobs before them must run to completion in the batch processing system.
Are batch systems used for interactive computing?
No, batch systems are not used for interactive computing.
What is meant by 'open' in this context?
Seeing the application on the screen and it is running.
What are applications?
Programs.
How can multiple applications run 'at the same time' on a single CPU?
Through time-sharing, where each program gets a small slice of time on the CPU in a specific order.
What is time-sharing?
A type of multiprogramming where each program gets a small time slice on the CPU.
What is the objective of time-sharing?
To make each user think their program is the only program running.
What infrastructure does time-sharing require in the operating system?
CPU scheduling, Memory management, Resource management, Timers, Lists of active and inactive processes
What is CPU scheduling in time-sharing?
It is the process of deciding which program runs next on the CPU.
What is memory management in time-sharing?
It is the process of deciding which programs are in memory and managing the allocation of memory resources.
What is resource management in time-sharing?
It is the process of deciding which program gets to use which device and managing the sharing of devices.
What is multitasking?
Multitasking is a specific form of time-sharing in which the running programs, which we call processes, or tasks, may be cooperating to solve a single problem, sharing resources to accomplish this.
What is time-sharing?
Time-sharing is slicing up the CPU's time into small pieces and giving them to processes, whether or not they are working together.
What is multitasking generally used for?
Multitasking is generally used when processes are working together.
What does multitasking include?
Multitasking includes a form of parallel computing in which programs are multithreaded, and the individual threads share the CPU.
Dual-Mode Operation
The CPU has a mode bit that can be in one of two states: user mode (mode bit == 1) kernel mode, also called privileged mode or supervisor mode (mode bit == 0). The CPU can determine the state of the mode bit.
Privileged Instructions
Some instructions are designated as privileged instructions that can only be executed in kernel mode.
Trap
Any attempt to execute a privileged instruction in user mode results in a trap.
Change Mode Bit
There is a privileged instruction that can change the state of the mode bit.
Setting the value of a timer or a clock
A privileged instruction that allows changing the value of a timer or a clock.
Instructions to perform I/O
Privileged instructions that enable input/output operations.
Disabling interrupts
A privileged instruction that allows disabling interrupts.
Changing the values of certain system-controlled registers
Privileged instructions that enable changing the values of specific system-controlled registers.
Changing the mode bit to kernel mode
A privileged instruction that switches the processor to kernel mode.
Privilege rings
In the Intel x86 architecture, there are four privilege rings (0, 1, 2, and 3) that determine the level of privilege for executing instructions.
What mode does the kernel run in when the system is booted?
Kernel mode
What mode do user processes run in after the system is booted?
User mode
What does dual-mode operation allow user programs to do?
Request services from the operating system without compromising security
How does a user program request a service from the operating system?
By making a system call
What happens when a user program makes a system call for a service it does not have privilege for?
A trap is generated, causing a transfer to a kernel system call handler
What does the mode bit get set to when a trap occurs?
0 (kernel mode)
What does the kernel system call handler do?
Saves registers, determines the system call made, and runs the code that performs the service
What happens when the code in the system call handler finishes?
Returns to the system call handler
What does the mode bit get set to when the system call handler is finished?
1 (user mode)
What happens after the mode bit is set to 1?
User code is run again
What is a timer?
A hardware component within the processor that can be set to generate an interrupt after a set amount of time.
What is the role of timers in managing program execution?
Timers prevent user processes from holding the CPU forever in infinite loops, prevent user processes from never returning control to the operating system, and ensure fair use of the CPU and good response times for interactive processes.
How can a variable timer be implemented?
A variable timer can be implemented by using a fixed-rate clock and a counter. The kernel sets the counter, and each clock tick decrements the counter. When the counter reaches 0, an interrupt is generated.
How does the kernel control a user process with a timer?
The kernel sets the timer before running the process. If a timer interrupt occurs, the process is interrupted and the control returns to the kernel.
What is a process?
A process is a program in execution.
Can multiple copies of the same program be run simultaneously?
Yes, multiple copies of the same program can be run simultaneously by the same or different users.
Give examples of programs that can have multiple instances running simultaneously.
Examples include bash, firefox, and the SSH daemon (sshd).
What is a multithreaded program?
A multithreaded program is a program that has multiple processes, called threads, associated with it.
How many processes can be running on a computer system at any given time?
At any given time, there can be hundreds of different processes running on a computer system.
What is the unit of work in an operating system?
A process is the unit of work in an operating system.
What is responsible for managing each process in an operating system?
The operating system is responsible for managing each process individually.
Processes need resources to accomplish their tasks. These include:
processor time, memory, access to I/O devices, access to files
Processes are created and destroyed by the operating system. Process creation requires passing initialization data to the process, Process termination requires reclaiming reusable resources. (CPU time, for example, is not reusable, but memory is.)
operating systems are responsible for creating and deleting both user and system processes, scheduling processes and threads on the CPU(s), suspending and resuming processes, providing mechanisms for process synchronization, and providing mechanisms for process communication
What is primary memory?
Primary memory refers to the storage accessible to the processor, and its size is finite.
What is the function of primary memory in a computer?
During the instruction-fetch cycle, the CPU fetches instructions from main memory, and during the data-fetch cycle, it reads and writes data from main memory.
Can programs only be executed if they are in main memory?
Yes, programs must be in main memory in order to be executed.
Can data on disk be directly accessed by the CPU?
No, data on disk must be copied into main memory first before it can be accessed by the CPU.
What are the tasks performed by the operating system in regards to memory management?
Keeping track of which parts of memory are currently being used and by which processes; deciding which processes and data should be in memory; deciding which memory-resident processes and data may be removed from memory to secondary storage; providing mechanisms to allocate and deallocate memory for processes while optimizing CPU utilization and response time to processes and their users.
What is a file?
A named collection of related information recorded on secondary storage.
What is a file system?
An abstraction that supports the creation, deletion, and modification of files, and organization of files into directories.
How is a file system structured?
As a hierarchical, tree-like structure with directories as internal nodes and files as external nodes.
What are the functions of a file system?
Supports control of access to files and directories, manages disk space, and supports file and directory operations.
Where is a file system stored?
It is stored on a linear storage device such as a disk partition.
What are some unique characteristics of devices?
Access speed, capacity, data-transfer rate, and access method.
What are the file system-related activities that the operating system is responsible for?
Creating and deleting files and directories, managing properties of files and directories, mapping files onto secondary storage, providing security and privacy of files and directories.
What is the responsibility of the operating system in relation to storage?
The operating system is responsible for mounting and unmounting file systems onto the directory hierarchy.
What does the operating system do in terms of managing free space?
The operating system is responsible for managing the free space on the storage devices.
What is the role of the operating system in allocating blocks of free storage?
The operating system allocates blocks of free storage upon request.
What does the operating system do in terms of scheduling disk actions?
The operating system schedules the order in which disk actions are performed.
What is the responsibility of the operating system in disk partitioning?
The operating system is responsible for partitioning the disks.
How does the operating system protect storage devices from unauthorized access?
The operating system protects storage devices from unauthorized access.
What is a cache?
A temporary storage area used to improve performance.
How does a cache work?
When data and/or instructions are first accessed, they are copied temporarily from a slower, larger capacity storage component into a faster, smaller storage component (the cache), and then accessed from that cache.
What happens when the data is needed again?
The cache is checked first to determine if it is there. If so, the data is accessed directly from the cache, saving time. If not, the data is copied from the slower storage to the cache and then accessed there.
Who generally manages processor cache?
Hardware
What parts of main memory does the operating system manage as a cache for hard disks?
The operating system manages the parts of main memory used as a cache for hard disks.
What actions does the operating system take to manage the cache for hard disks?
The operating system chooses the size of the cache, decides when the cache is full, determines which data in the cache should be replaced, and copies the changes back to the storage when data in the cache is modified.
What does the operating system do to ensure cache coherency when a computer has multiple processors?
The operating system ensures that an update to a data item in one cache is immediately reflected in all other caches where a copy of that item exists.
What does hardware handle in terms of cache coherency?
Hardware handles cache coherency in processor cache.
What does the operating system handle in terms of cache coherency?
The operating system handles cache coherency in caches in main memory.
What manages processor cache?
Hardware
What does the operating system manage in main memory?
Cache for the hard disks
What actions does the operating system take in managing the cache?
Choosing the size, deciding when it is full, replacing data, copying changes back to storage
What does the operating system do when a data item exists in multiple caches in a multi-processor system?
Ensures cache coherency
Where does the hardware handle cache coherency?
Processor cache
Where does the operating system handle cache coherency?
Caches in main memory
What is device-independent I/O?
Device-independent I/O is I/O such that all I/O devices are accessible to programs without the program's needing to specify the device in advance.
Give an example of device-independent I/O.
The code in a program that opens a file and then reads it, is the same whether the file is on an internal hard disk, a USB device, or a magnetic tape.
What is the benefit of device-independent I/O?
It allows programs to access I/O devices without needing to specify the device in advance, making it more flexible and convenient for programmers.
How is device-independent I/O implemented in UNIX?
In UNIX, the read() system call has the same arguments regardless of whether it is reading from a file, a pipe, a terminal device, or a network interface.
What is device driver interface?
Device driver interface is a standard interface implemented by device drivers that allows them to provide the same interface to the kernel regardless of the device type or manufacturer.
What is the advantage of device driver interface being device-independent?
The device driver interface being device-independent makes maintaining the kernel code easier, as all device drivers are required to implement a standard interface.
What is protection?
Protection is the set of policies and mechanisms for controlling access by processes and users to the resources managed by the operating system.
Give examples of controlling access.
Examples of controlling access include defining which users are allowed to view the system log files and preventing user processes from writing to secondary storage directly.
What is security?
Security is the set of policies and mechanisms for the defense of the computer system against internal and external attacks.
Give examples of attacks.
Examples of attacks include denial-of-service, worms, viruses, identity theft, and theft of service.
What is the common paradigm shared by Unix, Apple, and Windows operating systems?
The common paradigm shared by Unix, Apple, and Windows operating systems is that user identities are assigned to each user and authentication is used to authenticate logins.
What are some examples of authentication methods used in operating systems?
Some examples of authentication methods used in operating systems are passwords, two-factor authentication, and cryptographic key-pairs.
What do user identities in operating systems associate with?
User identities in operating systems associate with privileges and access rights for files and other entities needing privilege.
What is the purpose of group identifiers in operating systems?
Group identifiers in operating systems allow sets of users to be defined and to control what they can do collectively to controlled files and other entities.
What is privilege escalation?
Privilege escalation is the ability for a user to change to an effective identity that has greater privilege.
What is an example of privilege escalation in Linux?
An example of privilege escalation in Linux is the 'sudo' command.
What is a distributed system?
A distributed system has several autonomous computational elements, called nodes, each of which has its own local memory, and the nodes communicate via message passing.
What is common to most definitions of a distributed system?
Most definitions agree that a distributed system has several autonomous computational elements, called nodes, each with its own local memory, and that the nodes communicate via message passing.
What are the main features of a distributed system?
The main features of a distributed system are the presence of several autonomous computational elements (nodes), each with its own local memory, and communication between nodes via message passing.
What are some uses of distributed systems?
Distributed systems can be used to solve large computational problems or to provide and coordinate collective, shared resources of the system to individual users.
What is the objective of network and distributed operating systems?
To unify the collective resources of a distributed computer system so that users can access the resources of any node on the network.
What does a network operating system provide?
An environment in which a user can access remote resources by either logging in to the remote machine or transferring those resources from the remote machine to the local machine.
Which operating systems are considered network operating systems?
All popular, general-purpose operating systems, such as Linux, MacOS X, and Windows, as well as embedded operating systems such as Android and IOS.
What is a distributed operating system?
An operating system that allows users to access remote resources in the same way that they access local resources, creating the illusion that only a single operating system controls the network.
Are there any modern entirely distributed operating systems?
No, although many operating systems have distributed subsystems.
What are some examples of distributed file systems?
The Network File System (NFS) used in Linux and Apache's Hadoop distributed file system (HDFS) written in Java.
Send to Chat
AI Edit
Normal Text
Highlight
Send to Chat
AI Edit
Normal Text
Highlight
Scholarly Assistant's Insights
Learn about computer systems, operating systems, software, and hardware components in this flashcard deck.
Operating System
Computer System
Memory Management
File System
Cpu
+9 more
Ask Scholarly Assistant
Similar Pages
Login to Leave a Comment
Give your feedback, or leave a comment on a page to share your thoughts with the community.
Login