Chapter 5: System Software

27 flashcardsby abrar
Study these flashcardsFree · spaced repetition · iPhone, Android, Mac & web

All cards

1
What is an Operating system?
A piece of system software that facillitates communication between the user and hardware
2
What is the needs for an Operating system?
- Provide a means of communication between hardware and user
- Provide an environment for the execution of software
- Manage system resources
3
Tasks carried out by the Operating system?
- Memory management
- File management
- Security management
- Hardware (input/ouput) management
- Processor management
- Error detection and management
- User interface
- Utility Software
4
Memory management in an operating system
- Allocates memory to processes when they need to run
- Releases memory when a process stops so that it can be recycled and reused
- Makes use of virtual memory when the main memory is under struggle due to a small capacity
- Controls movement of data to/from RAM
- Memory protection to make sure that 2 programs do not use the space
5
File management in an operating system
- Allocates space to a given file
- Allows use of copy, paste, cut, delete, open, close and create.
- Maintains and creates directory structure
- Provides file naming conventions like it cannot contain illegal characters like ‘/’
- Provides access rights to prevent certain users on the device from accessing the files
6
Security management in an operating system
- Performs automatic backups in case of accidental deletions
- Sets up user accounts and implements access rights per user like ‘Administrator’
- Provides a system restore when needed by the user
- Authenticates the username and passwords of the different accounts on the device
7
Hardware management in an operating system
- Handles the interrupts and signals sent to/from device including the device buffer
- Automatically installs necessary drivers when the device is plugged in
- Sends control signals to manipulate the device, e.g start printing a document
8
Process management in an operating system
- Manages the scheduling of different tasks in order to allow for multitasking
- Prevents interferences between different processes such as over resources
- Manages resources which the process requires
9
Error detection management in an operating system
- Handles interrupts
- Provides safe mode boot up in case of a major error
- Provides error diagnostic messages and reports on system health
- Saves system restore points
10
User Interface in an operating system
- Allows the user to communicate with the hardware by providing a CLI or GUI
- Provides facility for the user to input and output data to/from the hardware
11
Utility software in an operating system
Software installed by default on every computer:
- Disk formatter
- Virus checker
- Defragmentation software
- Disk repair and analysis software
- File compression
- Backup software
12
Disk formatter in an operating system (Utility software)
prepares the hard disk for its initial use by creating logical partitions usually on a previously used disk.
13
Virus checker in an operating system (Utility software)
Scans files stored on the system; files that newly enter the system for malicious code; scans on regular schedule; If a file is found it can be quarantined and deleted.
14
Defragmentation software in an operating system (Utility software)
Reorganises individual files on the system; ensures they're stored in contiguous blocks to speed up access times
15
Disk repair and Analysis software in an operating system (Utility software)
Scans the disk for corrupt / bad sectors and marks them as unusable. It will resolve any errors and provide reports to the user
16
File compression in an operating system (Utility software)
Reduces the size of the file to optimize storage space by using an algorithm such as RLE, which can be lossy or lossless.
17
Backup software in an operating system (Utility software)
Creates copies of the content of the disk usually on schedule. Allows the user to decide what data is stored and when needed allows the user to restore the saved data
18
What are Program libraries?
A collection of pre-written code
19
Benefits of Program libraries?
- Saves time as you can refer to the library instead of writing the code yourself
- Allows you to perform complex tasks without needing to understand how it works
- It has been thoroughly tested so you can use it without error checking
20
What are Dynamic Link Library (DLL) files?
- A collection of self-contained programs that have already been compiled. These are linked to the main program for execution
- Library program’s code is separate from the .exe file which means the library
file is loaded at run time when it's needed
- Can be used by multiple programs at the same time and it can be
automatically be updated
21
Pros and cons of Dynamic Link Library (DLL) files?
pros:
- Only loaded when needed so that means the executable’s size can be smaller
- Changes made to the DLL are separate from the executable so it does not need to be recompiled and it can be updated automatically
- Saves time as you can refer to the library instead of writing the code yourself
- Allows you to perform complex tasks without needing to understand how it works
- It has been thoroughly tested so you can use it without error checking
cons:
- Executable will not work if the DLL is corrupt
- External changes to the DLL could cause the executable to stop working
- The DLL needs to be present for the executable to work
22
What is a Translator?
A software that is used to convert higher level programming languages to a different form, usually machine code
- Compiler
- Interpreter
- Assembler
23
What is an Assembler?
Translates assembly language statements into machine code (binary) for execution
- The mnemonics used translates into machine opcodes
- Process is simple because assembly language has a 1:1 relationship with machine code
24
What is an Interpreter?
An interpreter requires the source code to be present when it reads line by line and stops whenever there is an error
+ Allows for easier debugging; errors are outputted one at a time whenever they are encountered
25
What is a Compiler?
It reads the entire program and reports all errors in the end.
+ Produces an executable file allowing for redistribution without the source
+ Programs can be interpreted on different platforms
- Extra CPU resources may be needed as program needs to be interpreted on the user's device which may run slowly
26
What is an Integrated Development Environment (IDE)?
An IDE is a software that helps programmers work more efficiently. They come bundled with many features
27
Features of an Integrated Development Environment (IDE) that help programmers?
- Context sensitive prompts that auto complete what you are typing based on what has been typed out
- Dynamic syntax checking which highlights all syntax errors for you
- Pretty print which uses colors and automatic indentation to make the code more presentable
- Breakpoints which allow you to pause the program at certain points in execution to ensure line by line that everything is working
- Report window which outputs the contents of variables and data structures
- Single stepping which executes one line of code and stops
Study all 27 cards for free