Operating Systems Flashcards
Why do we need OS?
Provide interface between the user and hardware, allowing user to interact with the system and run applications.
Important for managing hardware and software resources of a computer system.
Resource Management/multitasking
OS manages hardware and software resources of a computer system – resources: CPU, memory, device drivers, printers.
They allocate resources to specific tasks and ensure they are used effectively
[e.g) when a user opens multiple apps simultaneously the os decides: - how much memory to allocate to each app; - when and how long each gets to use cpu; - how to handle data being read from/ written to hard drive.]
File Management
Data is stored in files.
OS handle storage, retrieval and manipulation of data files.
OS provides GUI of file system to allow user to decide which directory to save a file in / name the file/delete file.
Extension of file names eg) .docx/.pptx tells os which app to load file into
Interrupt Handling
Interrupts require immediate attention of CPU.
To maintain smooth running of system, they need to be handled quickly.
[e.g) if a user clicks cancel on file conversion process a signal is sent from the mouse, interrupts the processer and the os will trigger the cancellation routine. ]
Give me examples of interrupts
Examples of interrupts: pressing a keyboard key/ cancellation/ clicking with the mouse/ hardware issue like printer jams
User Management/Security
Allows for multiple users to log into the same computer.
OS retains settings such as icons/desktop/backgrounds etc…
OS provides various security features such as password protected system accounts, firewall, virus scanning, file encryption.
System accounts can be restricted from performing certain actions e.g) editing network settings/installing unapproved software/ changing account settings of other users.
Users may have different access rights (network may impose fixed/roaming profile) fixed = fixed settings/ roaming = can change your settings
User Interface
The way in which you interact with the computer as a human being
OS provide interaction in 2 ways:
-> visually through graphical user interface
-> text-based through command-line interface
Mobile os provide GUI’s that are suitable for interaction through touch.
WIMP = windows, icons, menus, pointers = visual and interactive
Optimized for mouse and touch gesture input
GUI
Graphical User Interface (GUI):
Uses visual elements like windows, icons, menus, and pointers.
Examples: Windows, macOS, Android.
Pros: Intuitive, user-friendly, visually appealing.
Cons: Resource-intensive, may not be as fast as CLI for expert users.
CLI
Command Line Interface (CLI):
Text-based interaction where users type commands.
Examples: Linux shell, Windows Command Prompt.
Pros: Lightweight, powerful for advanced users, scriptable (programmer can write commands to automate tasks).
Cons: Steep learning curve, less intuitive.
Menu driven Interface
Menu-Driven Interface:
Users navigate through menus to make selections.
Examples: ATMs, early mobile phones.
Pros: Simple, easy for non-technical users.
Cons: Limited flexibility, slow for complex tasks.
Touchscreen Interfaces
Interaction via touch gestures on a screen.
Examples: Smartphones, tablets.
Pros: Natural, intuitive, space-saving.
Cons: Can be less precise, issues with accessibility for certain users.
VUI
Voice User Interface
Interaction through voice commands.
Examples: Amazon Alexa, Google Assistant.
Pros: Hands-free, accessible for visually impaired users.
Cons: Can struggle with accents, noisy environments.
NUI
Natural User Interface (NUI):
Interaction through natural movements or gestures.
Examples: Microsoft Kinect, VR systems.
Pros: Immersive, innovative.
Cons: Requires specialized hardware, learning curve for users.
Providing a platform for software to run
OS provides a platform on which application software can run by allowing software to access the system resources.
Eg) If a comp game has intensive graphics, OS will grant access to GPU and network card
Providing Utilities
Utility Programs help with system maintenance and security
Eg) file encryption, file compression, disk defragmentation, system backup, disk cleanup