H446 Section 2 Systems Software

studied byStudied by 8 people
5.0(1)
learn
LearnA personalized and smart learning plan
exam
Practice TestTake a test on your terms and definitions
spaced repetition
Spaced RepetitionScientifically backed study method
heart puzzle
Matching GameHow quick can you match all your cards?
flashcards
FlashcardsStudy terms and definitions

1 / 68

69 Terms

1

Operating System

Software that manages computer hardware and provides services for application programs. It acts as an intermediary between users and the computer hardware.

New cards
2

Functions of Operating System

Functions include process management, memory management, file system management, and device management.

New cards
3

Memory Management

The process of coordinating and handling computer memory, including allocation, tracking, and deallocation of memory resources.

New cards
4

Paging

Memory is divided into fixed size blocks, allowing for efficient memory management and elimination of fragmentation. They may be stored in non-contiguous physical memory locations.

New cards
5

Segmentation

Memory management technique that divides memory into variable-sized segments, each representing a logical unit such as a function or data structure.

New cards
6

Virtual Memory

A memory management capability that allows a computer to use hard disk space as an extension of RAM, enabling larger applications to run on limited physical memory. Can lead to a deterioration in performance due to increased access times.

New cards
7

Interrupts

Signals that alert the CPU to immediate attention needs for example when an I/O operation is complete or an error occurs, allowing it to pause current tasks and execute interrupt service routines.

New cards
8

Interrupt Service Routine

A special function that the CPU executes in response to an interrupt, allowing the system to handle events such as I/O operations or errors efficiently. Current processes are suspended and moved onto a stackto ensure that they can be resumed after the interrupt is handled.

New cards
9

Multi-tasking

The ability of an operating system to execute multiple tasks or processes simultaneously, improving efficiency and responsiveness by sharing CPU time among them.

New cards
10

Scheduling

The method by which an operating system decides which tasks or processes to run at any given time, optimizing CPU usage and ensuring that all processes receive adequate attention.

New cards
11

Round Robin

A scheduling algorithm that assigns a fixed time slice to each process in a cyclic order, ensuring fair CPU time distribution among all active processes.

New cards
12

First Come, First Served

A scheduling algorithm that processes tasks in the order they arrive, ensuring that the first task submitted is the first to be executed, which can lead to inefficiencies and increased waiting time for subsequent tasks. This method can result in longer wait times for processes that arrive later, especially if a long task is executed first.

New cards
13

Shortest Remaining Time

A preemptive scheduling algorithm that selects the process with the smallest remaining time until completion. It aims to minimize the average waiting time for processes in the system.

New cards
14

Shortest Job First

A non-preemptive scheduling algorithm that selects the process with the smallest total estimated run time for execution next, minimizing the average waiting time for all processes.

New cards
15

Multi-Level Feedback Queue

A scheduling algorithm that allows processes to move between different priority queues based on their behavior and requirements. It aims to optimize turnaround time and responsiveness by dynamically adjusting the priority of processes.

New cards
16

Backing Store Management

The method of managing secondary storage to hold data and programs that are not currently in use by the main memory, ensuring efficient retrieval and storage.

New cards
17

Peripheral Management

The process of controlling and coordinating the input and output devices connected to a computer system, ensuring proper communication and functionality. It involves managing device drivers, buffering, and spooling to optimize performance and resource allocation.

New cards
18

Distributed Operating System

A type of operating system that manages a collection of independent computers and makes them appear to the users as a single coherent system. It facilitates resource sharing, communication, and coordination among the distributed components.

New cards
19

Multi-tasking Operating System

An operating system that allows multiple processes to run simultaneously by managing the CPU time and resources efficiently, enabling users to perform several tasks at once.

New cards
20

Mutli-user Operating System

An operating system that supports multiple users accessing the system simultaneously, allowing each user to have their own environment and resources while maintaining security and privacy.

New cards
21

Mobile Operating System

A type of operating system designed specifically for mobile devices, such as smartphones and tablets. It manages hardware and software resources while providing a user-friendly interface for mobile applications.

New cards
22

Real-time Operating System

An operating system designed to process data as it comes in, typically without buffering delays, ensuring that the system can respond to inputs instantly. It is commonly used in embedded systems and critical applications where timing is crucial e.g. flight control systems.

New cards
23

Embedded Operating System

An operating system specifically designed for embedded systems, optimizing resource usage and performance for dedicated tasks. It often operates with limited hardware capabilities and is tailored for specific applications.

New cards
24

BIOS

Basic Input/Output System, a firmware interface that initializes and tests hardware components during the booting process and provides runtime services for operating systems and programs.

New cards
25

Device Drivers

Software components that allow the operating system to communicate with hardware devices, facilitating their operation and management.

New cards
26

Virtual Machine

A software emulation of a physical computer that runs an operating system and applications as if it were a separate physical machine, allowing for multiple operating systems to operate simultaneously on a single hardware platform.

New cards
27

Systems Software

Software designed to manage and control hardware components, enabling the operation of application software and providing essential services for the computer's functioning.

New cards
28

User Interface

The means by which a user interacts with a computer or software, typically through graphical elements, commands, and input devices.

New cards
29

Utility Programs

Software tools that perform maintenance tasks, manage system resources, and enhance the functionality of the operating system. They include file management, disk cleanup, backup, encryption, compression, firewall and antivirus programs.

New cards
30

Disk Defragmentation

The process of reorganizing fragmented data on a hard drive to improve efficiency and speed of data access.

New cards
31

Automatic Backup

A process that automatically saves copies of data at scheduled intervals to prevent data loss and facilitate recovery in case of system failure.

New cards
32

Automatic Updating

A feature that automatically downloads and installs updates for software and operating systems, ensuring that the system is secure and up to date.

New cards
33

Virus Checker

Software designed to detect, prevent, and remove malicious software (viruses) from a computer system.

New cards
34

Compression Software

Software that reduces the size of files or data to save storage space and facilitate faster transmission.

New cards
35

Applications Software

Programs designed to perform specific tasks for users, such as word processing, spreadsheets, and graphic design.

New cards
36

General-purpose Software

Software designed to perform a wide range of tasks, rather than specialized functions, allowing users to accomplish various activities such as productivity, communication, and entertainment.

New cards
37

Special-purpose Software

Software designed for specific tasks or functions, often tailored to meet particular user needs, such as accounting or inventory management.

New cards
38

Off-the-shelf software

Commercially available software that is ready-made for general use, such as Microsoft Office or Adobe Creative Suite.

New cards
39

Bespoke software

Custom software developed to meet the unique requirements of a specific user or organization, often tailored for specialized functions.

New cards
40

Open Source Software

Software whose source code is freely available for modification and distribution, allowing users to collaborate and improve the software.

New cards
41

Closed Source Software

Software that is not made available to the public for modification or inspection, with its source code kept confidential by the developer.

New cards
42

Selecting an Application

The process of evaluating and choosing software applications based on specific needs, cost, features, and compatibility.

New cards
43

Assembler

A type of software that translates assembly language into machine code for execution by a computer's processor.

New cards
44

Low-level Language

A programming language that provides little or no abstraction from a computer's instruction set architecture, typically including assembly languages and machine code.

New cards
45

Instruction Set

A set of commands that a processor can execute, defining the operations, data types, and addressing modes available to a programmer.

New cards
46

Assembler

A software tool that converts assembly language code into machine code, allowing the processor to execute it.

New cards
47

Bytecode

An intermediate form of code generated by an assembler or compiler, which can be executed by a virtual machine or further compiled into machine code.

New cards
48

Source Code

The human-readable instructions written in a programming language, which are compiled or interpreted into machine code for execution by a computer.

New cards
49

Object Code

The machine code output generated by a compiler or assembler, which is ready for execution by a computer's processor.

New cards
50

Compiler

A program that translates source code written in a high-level programming language into object code or machine code, enabling execution by a computer.

New cards
51

Interpreter

A program that translates source code into machine code line-by-line, executing it directly without producing an intermediate object file.

New cards
52

Platform Independence

The ability of software to run on various operating systems or hardware without modification, often achieved through the use of virtual machines or interpreters.

New cards
53

Bytecode Interpreter

A program that executes bytecode, which is an intermediate representation of code compiled from a high-level language, typically allowing for platform independence.

New cards
54

Advantages of Compiler

Compilers translate the entire source code into machine code before execution, resulting in faster runtime performance and optimization opportunities compared to interpreters.

New cards
55

Advantages of Interpreters

Interpreters execute source code line-by-line, allowing for immediate execution and easier debugging, but generally result in slower performance compared to compiled programs.

New cards
56

Lexical Analysis

The first phase of a compiler where source code is converted into tokens, identifying keywords, operators, and identifiers for further processing.

New cards
57

Syntax Analysis

The second phase of a compiler that checks the source code's grammatical structure, ensuring that the sequence of tokens follows the rules of the programming language.

New cards
58

Code Generation

The phase in a compiler where the intermediate representation is translated into machine code or target code, producing an executable program.

New cards
59

Optimisation

The process of improving the efficiency and performance of the generated code by reducing its size and execution time, often involving transformations that preserve the program's semantics.

New cards
60

Symbol Table

A data structure used by a compiler to store information about variables, functions, and other identifiers, including their types, scopes, and memory locations.

New cards
61

Semantic Analysis

The phase in a compiler where the source code is checked for semantic consistency and correctness, ensuring that the statements and expressions conform to the language's rules.

New cards
62

Backus-Naur form

A notation used to express the grammar of a language, providing a formal way to describe its syntax through rules and symbols.

New cards
63

Hash Table

A data structure that implements an associative array, allowing for efficient data retrieval based on a computed hash value.

New cards
64

Reverse Polish Notation

A mathematical notation in which every operator follows all of its operands, eliminating the need for parentheses to denote operation order.

New cards
65

Parsing

The process of analyzing a sequence of symbols, typically in programming languages, to determine its grammatical structure according to a given formal grammar.

New cards
66

Linkers

Software tools that combine multiple object files into a single executable program, resolving references between them.

New cards
67

Loaders

Programs that handle loading executable files into memory for execution, resolving addresses and linking necessary libraries.

New cards
68

Libraries

Collections of precompiled routines that programs can use to perform specific tasks, thereby promoting code reuse.

New cards
69
New cards
robot