system software: runs hardware and manages computer systems. eg. operating system, utility software
application software: enables user to perform a specific task. eg word processor (storing text, simple images), web browser (displays web pages)
operating system manages software + hardware and acts as an interface between the user and important applications for managing the computer.
It is a software that runs in the background of a computer system (some have unique OS eg gamingconsoles). eg Mac OS X, Linux and iOS
OS function examples
human-computer interface
multitasking
loading and runningapplications and software
error handling
memory management (eg transfers programs to the memory, allocates free space between programs and keeps track of memory usage)
control of input-output devices
security
file utilities
os systems is structured in layers. the applications interact with the kernel and the kernel interacts with the hardware (control centre of the OS).
A) user interface
B) applications
C) kernel
D) CPU
E) memory
F) devices
2 types of UI
Graphical user interface (GUI): icons, menus, tiles eg smartphone. (eg touchscreen, mouse and keyboard)
Commandline interface (CLI): non-graphical, text-only service and feedback. userneeds to know various commands to interact w OS. faster, more flexible, less memory
the os performs the following to run a program
program found in the storage drive
a section of RAM is allocated for the program and its data
the program copied from storage drive to the RAM
program counter is a register that consists of the address where the first instruction is present. set to memory location and program is executed
device driver is a program that allows a computer to communicate with a device. it translates the device's commands into computer language
buffering a set amount of data is going to be stored in order to preload the required data right before it gets used by the CPU.
multitasking
OS controls the CPU and decides which process should be executed at a particular time.
the swapping of processes is according to a schedule determined by the OS.
This swapping is fast soit appears to the user that multiple processes are running at the same time
if the process currently running is interrupted by external events or uses more time than needed, CPU switches from running process to a runnable process (either shortest job first or one with longest waiting time first)
memory management
when multiple processes are being run, the os makes sure that each process has its data and instructions stored in a different memory location so the processes don't interfere w e/o
when processes need to share data, these data are stored in a shared location
memory can be allocated in 2 ways
segmentation: splitting memory and allocating it to a process
paging: split memory into equally sized blocks called pages. the info for which page is allocated to which process is maintained in a table
control of input output devices
protocols: peripheral devices connected to computer are programmed with machine code which describes how data is transferred between device and computer. a protocol is made to control and communicate with the device
devicedrivers: manages connection w peripheral device which handles diff requests btwn computer and device. responsible for defining processes to storeoutgoing data n incoming messages. wakes up device only when necessary (else sleep mode).
OS is equipped but some devices require their own
file management
to retrieve data from the file, an OS needs to know the organisation structure, amount of data and the protocol to communicate
it manages the way data is organised into files eg location and structure of file system, how files are stored, deleted, read, repaired (eg Windows File Explorer for Windows)
interrupts and buffers
interrupt - a signal sent from a device or software to the processor. The processor will temporarily stop its current process (saved) and service the interrupt signal (eg when paper jammed in printer, CPU prompts user to check)
buffers - speeds up processor's operation. Temporary memory areas with data for output hardware and online video streaming so it doesn't wait for data to load. The processor continues with its other processesuntil the buffer starts becoming empty
utilities
programs installed in a system alongside OS - installed automatically or by users
maintenance related tasks eg backing up data, formatting the disk and security related eg providing passwords and protecting from malware
maintenance utilities: backups (store in separate server / storage drive)
full: copy of all contents of a system at specific point(s) in time including unchanged data - slowest and more space + bandwidth, reliable + fastest restore and recover (only last backup needed)
differential: files that are new of have changed since the last full back-up (ie if u full backup on Sun, differential on Mon, then differential on Tue will also include Mon's files). attributes are all between 1&2
incremental: more frequent intervals and only new or changed data. faster, less space + bandwidth, slow restore
other maintenance utilities:
disk cleaner: identify and remove unused, temporary and cached files for more free space on the disk
disk defragmentation: when small files r deleted, small parts of all clusters can be used. if a large file needs to be stored, this file is fragmented into smaller parts and stored into small clusters. when this file is accessed, the read-write head moves many times = slower -> reassembles fragments and file appears in continuous sequences of clusters. faster file access times
formatting: to be compatible with OS
security utilities
user accounts with password: to authorise access to important files and documents
encryption: data encrypted when stored or sent over a network
antivirus software: detects malware and blocks its operation
firewall: establishes a barrier between a trusted internal and untrusted external networks. prevents unauthorised web users and malicious software from gaining access to private networks connected through the Internet