OCR A Level CS 1.2: Software and Software Development

studied byStudied by 0 people
0.0(0)
Get a hint
Hint

Basic Input Output System (BIOS)

1 / 45

flashcard set

Earn XP

46 Terms

1

Basic Input Output System (BIOS)

A program that initialises and tests whether system hardware is functional and then loads the operating system from the hard disk into RAM when the computer is turned on.

The program stored in EPROM(Erasable Programmable Read-Only Memory) that gets your computer started after you turn it on. 

Main purpose: to initialise and test the system hardware components and to load the operating system (key parts of it) from the hard disk into RAM. 

Historically used to provide an abstraction layer which allowed a consistent way for application programs and the OS to interact with input-output devices. 

In modern computers, BIOS not used after loading OS. 

New cards
2

Device Drivers

A program supplied with a peripheral device that allows the OS to control and communicate with the device.

It is a computer program that provides a software interface to a particular hardware device. 

Enables operating systems to access hardware functions without needing to know the details of the hardware being used.  

e.g. when you attach a new printer, you will have to install the device driver program that comes with it before it will work. 

They are hardware dependent and operating system specific 

Typically communicates with the device via system bus or communications subsystem to which the hardware connects. 

When a calling program invokes a routine inn the driver, the driver issues commands to the device. Once the device sends data back to the driver, the driver may invoke routines in the original calling program. 

New cards
3

Distributed Operating Systems

The operating system is spread over multiple computer servers on a network, acting as a single system to parallel process a job.

A distributed OS can combine the processing power of computers across a network for a single task 

In distributed computing the OS controls and coordinates the computers, presenting them to the user as if they were a single system 

e.g. online shopping sites often use this form of OS 

one task handled by one server, whilst another task is handled by another server 

As the system becomes busy with more users, additional servers can automatically join the system to balance the load without you knowing 

New cards
4

Embedded Operating Systems

A specialised operating system with limited resources and functionality, built in to control a single machine.

e.g. many devices in our homes (IOT) have an OS and run simple programs 

has minimal features 

application programs held in ROM 

limited amount of RAM 

user interface is simple and minimal 

a lot of them have sensors, very little interaction from the user; sensor-based input 

New cards
5

First Come First Served

A scheduling algorithm where processes are dealt with in the order they arrive (a queue).

New cards
6

Intermediate Code

Code partly translated between high-level and machine language produced by a compiler.

New cards
7

Interrupts

A signal from hardware, software or the clock to alert the CPU. If the interrupt is a higher priority than the current task, the current routine pauses and resumes after the interrupt is executed.

New cards
8

Interrupt Service Routines (ISR)

If an interrupt is a higher priority than the current task, register contents are temporarily transferred onto the system stack at the end of the current FDE cycle and the interrupt is handled.

New cards
9

Memory Management

The efficient organisation and allocation of main memory to the programs in use.

New cards
10

Multi-Level Feedback Queues

A scheduling algorithm that uses multiple queues, each with a different priority. Jobs can be moved between queues.

New cards
11

Multi-tasking Operating Systems

An operating system capable of running multiple tasks simultaneously.

e.g. windows, iOS 

may run on a standalone pc/laptop/ phone 

can run many jobs simultaneously, switching between them so that each one appears to be the only one running 

mobile OS are linked to specific hardware- android has different hardware to iOS 

low-level proprietary (specific to hardware) OS is used for handling the hardware and special features- cellular connectivity , Wi-Fi 

the main OS handles the user interface and running applications 

New cards
12

Multi-User Operating Systems

An operating system consisting of one mainframe computer with multiple terminals that allow multiple users to access the computer’s resources. Each user is given a time slice of the mainframe processor.

e.g. when a server is involved/network 

allows more than one person to use a computer at the same time 

computer will manage the user's various permissions and access rights when they log in 

Server operating system software will handle the requests of multiple people using different computers on the network at the same time 

New cards
13

Operating System

A set of programs managing the operation of the computer that is loaded into RAM every time the computer is turned on. It bridges the user to the hardware.

New cards
14

Paging

Partitioning memory into fixed sized physical divisions called pages. Processes in memory will be assigned an appropriate number of pages.

New cards
15

Real Time Operating Systems

An operating system where data is processed as it comes, with responses generated with a guaranteed timeframe.

some OS must operate in real-time: must respond extremely quickly to inputs and many need to cope with many inputs simultaneously 

Real time Operating Systems are usually seen in safety-critical environments 

If a hardware component fails, the OS must have a failsafe to detect this and respond appropriately 

There is hardware redundancy - crucial components are duplicated in case one fails  

ALWAYS A BACKUP, and a backup backup and another... - all may be slightly different versions of the component 

New cards
16

Round-Robin

A scheduling algorithm where each process is given an equal time slice and is dealt with on a first in first out basis. If a process does not finish within a time slice it joins the end of the queue.

New cards
17

Scheduling

Allocating processor time to each application to ensure processor time is used as efficiently as possible when multitasking.

New cards
18

Segmentation

Partitioning memory into variable sized logical divisions called segments. A large program can be executed by consecutively running its segments.

New cards
19

Shortest Job First

A scheduling algorithm that picks the process with shortest estimated running time and runs it until it finishes.

New cards
20

Shortest Remaining Time

A scheduling algorithm that picks the process with shortest estimated time remaining to finish. If a process with a shorter time is added, the scheduler switches processes.

New cards
21

Virtual Machines

Any instance where software is used to take on the function of a machine, including intermediate code or running an operating system within another to emulate different hardware.

New cards
22

Virtual Memory

An allocated area of secondary storage where pages of inactive jobs are swapped into to free up enough RAM for the current job.

New cards
23

Applications

A program that can be run on a computer, allowing the user to carry out specific tasks.

New cards
24

Assembler

A translator in low level language, which converts assembly language into machine code.

New cards
25

Closed Source

Proprietary software sold with a licence and restrictions on how to and how many users can use it. The source code is not available to users.

New cards
26

Code Generation

The third and final stage of compilation, where an equivalent machine code program is produced.

New cards
27

Compilation

The process of analysing high level language source code and converting it into machine code.

New cards
28

Compilers

A translator that converts high level language to machine code.

New cards
29

Interpreters

A translator which checks a source program for syntax errors line by line, translates it to machine code and executes the line.

New cards
30

Lexical Analysis

The first stage of compilation, where extra spaces and comments are removed from the source code and it is searched for simple errors. Keywords, constants and variables are replaced by tokens. Variable names are loaded into the symbol table.

New cards
31

Libraries

A collection of programs which are already compiled and can be loaded into a program and run whenever required.

New cards
32

Linkers

A program which replaces the appropriate machine addresses in the call and returns instructions of a compiled program so all the other required object code files and modules are linked together.

New cards
33

Loaders

A program that loads the executable object program and its associated libraries into memory before it is run.

New cards
34

Open Source

Software whose source code is freely available to view, redistribute or modify.

New cards
35

Optimisation

During code generation, the object code is made as efficient as possible by removing redundancies to produce code that gives the same result.

New cards
36

Syntax Analysis

The second stage of compilation, where statements, expressions and tokens are checked for syntax errors using syntax diagrams.

New cards
37

Translator

A program which converts code from one computer language to another.

New cards
38

Utilities

System software with a specific purpose usually related to maintenance such as optimising the performance of the computer, diagnosing issues, backing up files, setting up firewalls etc.

New cards
39

Disk Thrashing

If there is insufficient RAM available to load all pages needed by the process, the computer will spend a lot of time swapping the different pages into the small space in RAM that is available. This is called disk thrashing and will cause a noticeable slowdown of the computer from the user's perspective.

To avoid this, install extra RAM or do not open too many processes at once/ close some processes. 

New cards
40

Why is it, in mobile operating systems, that underlying hardware is handled by a low-level proprietary OS made and owned by the hardware manufacturer, and the UI and applications are handled separately?

The OS can multitask to optimise performance, efficiency and security.

The OS is proprietary, so it is owned by the hardware manufacturer, so they can manage and update the device when needed easily. User interface and the ability to run certain applications are a crucial part of the user's decision about which type of phone to purchase, so manufacturers want the user experience to be the same across a variety of different hardware devices. 

Users are not concerned about underlying things such as how cellular connectivity works, as long as they work properly, so a low-level proprietary OS will be fine. 

Manufacturers may want an open source system (e.g. Android) and for their users to customise it (UI) rather than writing their own from scratch. 

New cards
41

Why do mobile devices such as smartphones and tablets require a different operating system from a desktop computer?

A mobile device typically has a slower processor/ less RAM than a desktop, so memory management and CPU scheduling may need to be handled differently.

Mobile devices have different interface needs, e.g. most mobile devices need a touch screen interface 

Software that can be run on the mobile device depends on the OS, which may not be capable of running programs designed for a desktop environment. 

New cards
42

Compare and contrast the functions of operating systems designed for a personal computer and a satellite-navigation system in a car. In this question you will also be assessed on your ability to use good English and to organise your answer clearly in complete sentences, using specialist vocabulary where appropriate. (7 MARKS) PURPOSES/ USES

Operating systems (OS) for personal computers (PCs) and satellite navigation (satnav) systems have similar fundamental roles, such as managing hardware resources and providing a platform for software to run. However, they differ in functionality and design due to the requirements of the devices they support. 

A PC OS, such as Windows or macOS, is designed for multitasking and supports a variety of general-purpose applications (e.g., web browsers, word processors, games). It manages resources across a wide range of hardware components (CPU, RAM, storage, GPU). 

In contrast, a satnav OS is specialised for navigation. It has a more limited set of tasks (e.g., GPS signal processing, route calculation, real-time map updates) and manages only the specific hardware needed for navigation, like GPS receivers and small touchscreens. 

New cards
43

Compare and contrast the functions of operating systems designed for a personal computer and a satellite-navigation system in a car. In this question you will also be assessed on your ability to use good English and to organise your answer clearly in complete sentences, using specialist vocabulary where appropriate. (7 MARKS) USER INTERFACES, SPEED, UPDATES

PC operating systems offer complex graphical user interfaces (GUIs) designed for multitasking and user flexibility, with support for input devices like keyboards and mice. Satnav systems, however, provide simplified, intuitive touch interfaces, with restricted input options, allowing drivers to interact safely while driving. 

Satnav systems have real-time processing needs, especially for updating location and recalculating routes quickly. Delays in processing could negatively impact navigation accuracy. PCs typically do not have strict real-time constraints and are instead optimised for tasks that vary in priority but generally do not require instant response. 

PC operating systems receive frequent security updates and patches due to exposure to various applications and networks, making them vulnerable to security threats. Satnav OSs are updated less frequently, as they operate in a more closed environment, with updates primarily focused on map data rather than security. 

New cards
44

Why is an interpreter useful for program development?

An interpreter is useful for program development as parts of the program can be tested without having to recompile a lengthy program each time. However, a compiled program will generally run faster.

New cards
45

Why can you not run a Python program written on one type of computer on another type of computer?

The object code that the source code is translated into is hardware specific, so therefore, it cannot be run on a different computer with different hardware. Many high level languages are portable because the source code can be compiled on different platforms (machine architectures). You would have to recompile the program into the appropriate object code using a specific compiler, or bytecode interpreter. 

New cards
46

What are the advantages of using a bytecode interpreter?

The program does not need to be recompiled while being tested, and also the bytecode can be used on any computer, no matter the hardware, making it simpler to run the same code on different devices. 

As long as a bytecode interpreter exists for a platform, the same code can run on different platforms without having to worry about the hardware differences. 

There is a reduced risk for the user because they execute the bytecode interpreter (a trusted program) instead of directly executing downloaded compiled code which could contain a virus. 

It is possible, for example, to compile from Python to Java bytecode (using the Jython compiler) and the use the Java interpreter to interpret and execute it. 

New cards

Explore top notes

note Note
studied byStudied by 4 people
... ago
5.0(1)
note Note
studied byStudied by 94 people
... ago
5.0(1)
note Note
studied byStudied by 433 people
... ago
5.0(3)
note Note
studied byStudied by 33 people
... ago
5.0(1)
note Note
studied byStudied by 28 people
... ago
5.0(1)
note Note
studied byStudied by 32 people
... ago
5.0(2)
note Note
studied byStudied by 11 people
... ago
5.0(1)
note Note
studied byStudied by 29 people
... ago
5.0(1)

Explore top flashcards

flashcards Flashcard (121)
studied byStudied by 2 people
... ago
5.0(1)
flashcards Flashcard (84)
studied byStudied by 13 people
... ago
5.0(1)
flashcards Flashcard (20)
studied byStudied by 16 people
... ago
5.0(1)
flashcards Flashcard (27)
studied byStudied by 8 people
... ago
5.0(1)
flashcards Flashcard (83)
studied byStudied by 12 people
... ago
5.0(1)
flashcards Flashcard (53)
studied byStudied by 2 people
... ago
5.0(1)
flashcards Flashcard (48)
studied byStudied by 50 people
... ago
5.0(1)
flashcards Flashcard (24)
studied byStudied by 16 people
... ago
5.0(1)
robot