5 system software Flashcards
(16 cards)
Why a Computer System Requires an Operating System
An Operating System (OS) is essential because it controls and coordinates the hardware and software of the computer.
It acts as an interface between the user and the hardware.
It manages resources so programs can run effectively.
operating system tasks
memory management, security management, file management , hardware management, process management
memory optimization
- determine how computer memory is allocated and deallocated
- determines where they are stored in memory.
- swap data to and from the HDD OR SSD
memory organization
-single (contiguous) allocation, where all of the memory is made available to a single
application.
- partitioned allocation, where the memory is split up into contiguous partitions (or blocks)
- Handles virtual memory and paging if necessary.
memory protection
ensures that two competing applications cannot use the same memory locations at the same time.
security management
Protects against unauthorized access using passwords, permissions.
Supports authentication features like biometrics or tokens.
process management
It manages resources and allows data to be shared, so that all processes can work together smoothly and stay in sync.
hardware management
Controls input and output devices via drivers.
Manages printing, disk access, etc., ensuring smooth device interaction.
file management
- storage space is divided into file allocation units
- space is allocated to particular files
- implements access rights
- specified tasks that can be performed on a file
Typical Utility Software Provided with an Operating System
Disk Formatter: sets up a disk so it’s ready to store files
Virus Checker: anti virus software should be up to date checks for virus, of virus found it’s quarantined then user can decide wether to delete or keep
Defragmentation Software: moves parts of files so that each file is contiguous in memory so files can be loaded faster
Disk Repair Software: Detects and fixes file system errors.
File Compression: Reduces file sizes for storage or transmission.
Back-up Software: Automatically saves copies of files at regular intervals in case of loss, data can be retrieved
program libraries
- Stores pre-written functions and routines
- freely accessed by other software developers for use in their own programs.
- can perform complex calculations
assembler
Translates assembly language to machine code.
Used for low-level programming tasks.
compiler
Translates a complete high-level language program into machine code before execution.
Faster execution once compiled.
interpreter
Translates and executes each line of code one at a time.
Slower, but allows for easier debugging.
features of an integrated development environment (IDE)
For Coding
-Context-sensitive prompts: suggest keywords, functions, or variable names based on what is being typed.
For Initial Error Detection
-Dynamic syntax checks: identify mistakes while typing code.
For Presentation
-Prettyprint: identify key terms
-Expand/Collapse Code Blocks: allows easy navigation and focus.
For Debugging
-Single Stepping: runs code one line at a time.
-Breakpoints: pause execution at specific lines.
-Variable Watch: displays variable values at runtime.
-Expression Evaluation: calculates expressions at runtime.
-Report Window: shows how variables change
memory management
controls movement of data between RAM and processor
by assigning RAM into blocks and reclaiming unused blocks of RAM