Chapter 5

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 4

Chapter 5: System Software

Operating System

 Needs of OS

o A set of programs designed to run in the background on a computer system which

 Controls operation of computer system

 Provides a user interface

 Controls how computer responds to user’s requests

 Controls how hardware communicate

 Provides an environment in which application software can be executed

o Hardware is unusable without an OS, as the OS acts as an interface since it controls


communication between user and hardware

 Key Management Tasks

o Memory Management

 Memory protection to ensure 2 programs do not try to use same memory space

 Paging

 Use of virtual memory

o File Management

 Provides file naming conventions

 Maintains a directory structure

 Allocates space to particular files

o Security Management

 Proves usernames & passwords

 Ensures data privacy

 Prevents unauthorized access

 Carries out automatic backup

o Hardware (input/output/peripherals) Management

 Installation of appropriate driver software

 Controls access to data sent to and from peripherals

 Receives & handles interrupts from hardware devices


o Process Management

 Enables multiprogramming and multitasking

 Resolution of conflicts when 2 or more processes requires the same resource

 E.g. via Round-robin method

 Utility Software

o Disk Formatter

 Prepares a hard disk to allow data to be stored on it

 Deletes any existing data on disk

 Performs formatting, process where computer ‘draws lines’ on disk surface to


split it into small areas

o Virus checker

 Checks for and then removes any viruses found

 Constantly checks all incoming and outgoing files

o Defragmentation Software

 Files can be big so have to be stored in multiple sectors, which can result in
fragmentation (contents of file scattered across >2 non-contiguous sectors)

 Fragmentation slows down disk access and thus the performance of the entire
computer.

 Defragmenting software works by physically reorganizing disk contents (files)


such that they are stored in contiguous sectors.

 This defragmentation reduces number of movements of the read/write heads


require to access the disk contents, hence increasing computer performance

 The defragmentation also creates larger contiguous free space regions

o Disk contents analysis/disk repair software

 Software utility for visualization of disk space usage

 Gets size for each folder and files, and generates a graphical chart showing disk
usage distribution according to folders or other user defined criteria.

 Allows disk to report errors (e.g. “bad sector”)

 Software will attempt to offer a solution

o File Compression

 Reduces file size by removing redundant data in files


 Causes improvements in the computer’s performance by reducing the data that
needs to be stored

o Back-up Software

 Makes copy of files on another storage medium in the event of a hard drive
failure, user error, disaster or accident.

 Should be a regular process

 Can provide synchronization between devices

Language Translators
 Assembler

o Software that translates assembly language statements into machine code (binary) for
execution

o The mnemonics used translates into machine opcodes

o Process simple because assembly language has a one-to-one relationship with machine
code.

 Compiler and Interpreter

Compiler Interpreter

Translates a high-level language program to Translates and executes a high-level language


machine code. program, line-by-line.

Creates a .exe file which can be easily


No .exe file created.
distributed.

Once compiled, .exe file does not need to be


Execution very slow – translated each time
compiled again, resulting in faster
program run.
execution.

Reports all errors at the end of compilation: Debugging easier/faster, since it stops translating
difficult to locate errors∴ development when it reaches an error. This allows real time
process long. error correction.

Can run program any time, even before code


Only be produced when all errors are fixed.
finished.
Compiler Interpreter

Used when development is completed. Used during development.

 Two-step translation

o Java and some other high level language programs may require two-step translation,
i.e., they will be partially compiled and partially interpreted

o Java code first translated to bytecode by Java compiler

o Bytecode finally interpreted by the Java Virtual Machine to produce machine code

 Integrated Development Environment (IDE) features

o Coding

 Context-sensitive prompts: Displays choice of keywords and available identifiers


appropriate at current insertion point and provides choices in alphabetical order

 Highlights undeclared/unassigned variable identifiers

o Initial Error Detection

 Dynamic syntax checks: Automatic checking and highlighting of syntax errors, as


soon as line typed

 Type checking & parameter checking

o Presentation

 Pretty printing: Automatic indentation and color-coding of keywords

 Expand and Collapse code blocks: Saves excessive scrolling if collapsed, and easy
to see global variable declarations and main program body when collapsed

o Debugging

 Single stepping: Executes program line-by-line to see the effect of each


statement on variables

 Breakpoints: Pauses program at a specific line to ensure program operates


correctly up to that line

 Variables/expressions Report Window: Monitors variables for comparing values.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy