Unit 1.2.1 Systems Software Flashcards
What are the tasks of the OS?
- Managing the processor
- Utility programs
- Managing the memory
- Security
- Networking
- Handling external peripherals
- Providing a user interface
What is an Operating System?
Software that is responsible for managing the computer’s resources, process management, hardware management and other key low-level tasks.
It controls the hardware and the software of a computer system and provides a user interface.
What is a page?
A fixed sized memory block used when assigning memory to processes.
What is virtual memory?
An allocated area of a hard drive/secondary storage device and used when RAM is full.
What is scheduling?
A part of the OS that assigns and manages the order and execution of processes and tasks on system resources (i.e. the CPU).
What is the BIOS?
The Basic Input Output System is responsible for loading the operating system when the computer first turns on.
What is a device driver?
Software that tells the operating system how to communicate with a device.
What is a virtual machine?
A program that has the same functionality as a physical computer - it can run in a window as a separate computing environment.
How does the OS perform multitasking?
The processor allocates a small amount of time to each process and cycles between them.
As this happens so quickly, it appears as if multiple programs are executing simultaneously.
What is multitasking?
When there is more than one program open and they appear to be running at the same time.
What is file management?
- Data is stored in files.
- An extension to the filename tells the operating system which application to load the file into.
- The OS may present a logical structure of files in folders and allow the user to rename, delete, copy and move files.
What is user management?
The OS allowing multiple users to log into the same computer.
How does the OS manage user access?
- The OS will retain settings for each user such as icons, desktop, backgrounds etc
- Each user may have different access rights to files and programs
- A Client-server network may impose a fixed or roaming profile for a user and manage login requests to the network.
What is a user interface?
The means by which the user and a computer system interact, in particular the use of input devices and software.
It displays the output to the user and allows them to interact with the OS (and thus the hardware).
What does this diagram show about the OS?
- The OS is a layer of software between applications and hardware
- It manages open applications, multitasking and memory, as well as providing a user interface
- It also acts as a mechanism for applications to use hardware, sending outputs to device drivers and receiving input from devices.
- The complexity of storing, retrieving, inputting and outputting to the hardware is transparent to the user.
Does the user directly interact with the OS?
The operating system provides a user interface, but the user is interacting with applications and utilities.
How does the OS manage the memory?
- Loading programs
- Reusing memory when programs close
- Using virtual memory to compensate for a lack of RAM.
How does the OS manage the processor?
- Decides which process to execute next
- Handles interruptions to the running process.
How does the OS manage security?
- Handling login with username and password
- Preventing unauthorised access to files
How does the OS use utility programs?
- File manager
- Anti-virus
- Encryption
- Defragmenter
- File compression
- Installers
- Clipboard manager
- System monitor
How does the OS provide a user interface?
- Windows, icons, menus and pointers
- Touch gestures
How does the OS handle external peripherals?
- Dealing with I/O requests
- Using device drivers to communicate with hardware
How does the OS handle networking?
Interfacing to other computers via cable or Wi-Fi.
What is memory management?
The OS controlling the movement of data between secondary storage and RAM, and vice versa.
Why would moving program D to make space for Program E be inefficient?
- There is enough total free space available – it’s just not located together in a single block.
- But it takes a lot of time to move a program in memory or on disk, as addresses and free space references all need updating.
What are the two methods to dividing up memory into smaller sections?
- Paging
- Segmentation
What is Paging?
- Physical divisions of the memory into fixed lengths of sections (pages)
- They are made to fit sections of memory.
- Programs are split up to fit into a given number of pages.
What is Segmentation?
- Dividing memory into segments of complete sections of code.
- Segments are logical divisions.
What are the similarities of paging and segmentation?
- Both allow programs to run despite inefficient memory
- Pages and segments are stored on disk
- Pages and segments are separated into segments when needed.
What are the differences between paging and segmentation?
- Pages are fixed sizes and segments are at variable length.
- Pages are made to fit sections of memory, and segments are complete segments of programs
- Pages are physical divisions but segments are logical divisions
Why could paging be inefficient?
- Paging takes no account of how it splits the program into fixed-sized pages.
- It could separate the instructions inside a looping condition so they are in different pages which would be inefficient.
- It would be better to keep those instructions together in memory.
What are the advantages of paging?
- Efficient use of memory (reduces wasted space and simplifies memory management)
- Protection and security (each page assigned its own protection level)
- Reduced fragmentation (allocating memory in more organized manner)
- Flexibility and Scalability (allows OS to allocate memory resources to different processes efficiently when computer demands change)
- Virtual memory
What are the disadvantages of paging?
- Overhead and latency (OS must constantly monitor and manage paging system)
- Increased fragmentation on the hard drive
- Adds a layer of complexity, so it’s harder to understand and troubleshoot + hardware determined size of page
- Memory thrashing (when OS constantly switches pages in and out of memory)
- Sensitive data may be stored on hard drive and vulnerable to malware software/system attackers.
What are the advantages of segmentation?
- No internal fragmentation
- Improves CPU utilization
- Allows for sharing memory segments between processes
- User can determine segment size and their perception of physical memory is similar to segmentation
- Segments can be of variable sizes and processes can have multiple segments
What are the disadvantages of segmentation?
- Increased fragmentation on the hardware
- Overhead and reduced performance
- More complex to implement and manage than paging.
What is an interrupt?
A signal emitted from hardware or software when a process or an event needs immediate action, serving as a request for the CPU to it suspend what it is doing and run the process associated with the interrupt.
Why would a device use an interrupt?
- Decreases the waiting time of CPU
- Stops the wastage of instruction cycle
- Enables multitasking by allowing the CPU to quickly switch between different processes
- Simplifies input/output (I/O) operations by allowing devices to communicate directly with the CPU.
Why can interrupts pose a problem to processing?
The processor needs to stop executing its current program to run the code for the interrupt (the ISR)