2.1.6+Operating+Systems+functions

__**Operating System (OS) - Definition:**__
 * first program loaded
 * core software component coordinating the hardware
 * controls/organizes general operations

__ **Functions of** **Operating Systems** __

__** Communicating with Peripherals: **__

 * manages peripherals (ex. printer, graphics card, keyboard, etc.) using drivers
 * ** Driver: ** software, ensuring interaction between computer and device
 * provides standard interface between hardware devices and applications
 * Enables generic commands such as the "print"-statement within the high-level programming languages to work on any PC, even if the hardware differs greatly.
 * Hardware is only able to deal with binary machine code or if a conversion between digital and analog formats has taken place (digital to analog conversion).
 * **Plug and Play**: feature that allows devices to be used without installing extra divers

__** Interfaces: **__

 * Graphical User Interface (GUI)
 * Windows XP
 * Macintosh
 * Command Line Interface (CLI)
 * MS DOS
 * Unix (Linux) Shell

__**Coordinating Concurrent Processing:**__

 * processes constantly running if computer turned on
 * OS manages the loading and unloading of processes to & from primary memory

__**Resource Management:**__

 * memory and capacity of CPU shared/managed between programs to allow maximum functionality
 * organises use of memory and processing time
 * manages processes in the background, while user is working with programs in the foreground
 * keeping track of which files, ports, data resources belong to which program

__**Memory Management:**__

 * organises memory through file management system (see additional information below for more)
 * allocates files
 * allows user to change file names & paths
 * backing storage controlled
 * handels transfer of data or instructions between primary and secondary memory
 * every process has specific space in primary memory
 * ensures other process spaces is not overridden - each process operates in own virtual memory space
 * would cause "memory access violation"
 * If the program & data management breaks down, programs might write to another programs's files or the system might crash.
 * manages use of virtual memory & swap files
 * **Scheduling:**
 * long term (admission)
 * decides which jobs are sent to queue
 * mid term (swapping out)
 * removes data from RAM to HDD/SSD
 * short term (dispatcher)
 * decides what is executed next

__**Accounting and Security:**__

 * maintains security
 * management of user accounts and user activity
 * manages access rights
 * provides services (e.g. firewalls)
 * user authentication
 * passwords
 * voice recognition
 * biometrics
 * logs everything done on computer
 * important in multi-user environments
 * **Audit-trail**: logging of user activity to track hacking attempts, hogging of resources, etc.

__**System Tools:**__

 * includes monitoring of performance, debugging and maintenance

__**Errors:**__

 * outputs simple messages for users if error occur

__**Additional Information:**__

 * **File Systems - 2 Types:**
 * File Allocation Table (FAT)
 * table tracking where the data is stored
 * New Technology File System (NTFS)
 * introduced by Microsoft
 * advantages:
 * higher reliability - errors repaired without message
 * transaction logs - errors tracked
 * Types of Operating Systems:
 * 1) Real Time Operating System (RTOS)
 * same amount of time needed for processing each time - e.g. mechanics
 * 1) Single User - Single Task
 * e.g. phone
 * 1) Single User - Multi-Task
 * e.g. PC
 * 1) Multi-User
 * e.g. Mainframe
 * Modes of Operation:
 * real time processing
 * quick processing of input to generate output
 * multi-programming
 * seems like multiple programs are running at once - programs run according to priority
 * interactive processing
 * continues exchange of information between user & computer
 * multi-tasking
 * tasks run concurrently - resources split
 * multi-acces or multi-user
 * same system used via LAN
 * CPU manages one user after another - the more users, the slower

Edited By Lucie Magister Last Modified 13/09/2014

Sources:
 * "Audit-Trail." computerwissen-online.de. Computerwissen Online, n.d. Web. 1 Nov. 2010. .
 * "Information and Digital Technology - Basic Functions of an Operating System." HSC Online. N.p., n.d. Web. 06 Sept. 2014. <@http://www.hsc.csu.edu.au/info_tech/compulsory/os/4014/basic_functions.htm>.
 * Jones, Richard. Computer Science Java Enabled. Victoria: IBID Press, 2004.
 * "Operating System Functions." CompTechDoc. N.p., n.d. Web. 06 Sept. 2014. <@http://www.comptechdoc.org/basic/basictut/osintro.html>.
 * "Operating Systems and Memory Management." Operating Systems and Memory Management. N.p., 11 Aug. 2011. Web. 07 Sept. 2014. <@http://www.slideshare.net/guest1415ae65/operating-systems-and-memory-management>.
 * "Operating Systems." BBC. BBC, n.d. Web. 06 Sept. 2014. <@http://www.bbc.co.uk/schools/gcsebitesize/ict/software/4operatingsystemsrev1.shtml>.