Software To make the computer versatile without using software is next to impossible. Hardwiring complex functionalities is very expensive. Without these functionalities the computer is almost useless. The only solution to make the computer versatile and cheaper simultaneously is to make hardware multi-purpose and use software to implement various functionalities. ICT 1308 - Operating Systems
Software
•
Computer Software is classified into two broad categories System Software Application Software Application Programmes Compilers
Editors
Command Interpreter
Operating System
System software
Machine Language Microarchitecture Physical Devices
ICT 1308 - Operating Systems
Hardware
Microcode In a CPU using microcode, each machine instruction is implemented by a series of microinstructions. Microprograms are carefully designed and optimized for the fastest possible execution. The microcode doesn't reside in the main system memory, but exists in a special high speed memory, called the control store. Microcode was originally developed as a simpler method of developing the control logic for a computer. ICT 1308 - Operating Systems
Machine Language A system of instructions and data directly executed by a computer's central processing unit. This is the lowest-level of abstraction for representing a computer program. Instructions are patterns of bits with different patterns corresponding to different commands to the machine. Every CPU model has its own machine code. A machine code instruction set may have all instructions of the same length, or may have variable-length instructions. ICT 1308 - Operating Systems
System Software •
System software typically contains Operating systems Device drivers Development tools User environment software Utility programmes
•
Operating system is the master control programme Acts as the user/computer interface
ICT 1308 - Operating Systems
System Software
•
Shell, window system, compilers, editors are not parts of operating systems They run in user mode User is free to do his own modifications
•
Operating system runs in kernel mode Hardware locks are used to protect it
•
Many processes running is user mode execute OS functions They should be protected too One can argue that these are also parts of OS ICT 1308 - Operating Systems
System Software
•
Device drivers are installed when device is added Provide interface between peripheral devices and the operating system Responsible for accessing the hardware registers of the device
•
Development tools are programming languages additional functionalities can be compiled to be plugged into the operating system
•
User environment allows user to interact with the operating system ICT 1308 - Operating Systems
Functions of OS •
Provision of Hardware Abstraction Extended Machine Resource Manager
•
Provision of a sophisticated Interface Interface to underlying hardware Interface to user programmes Interface to user Interface to the System Manager
ICT 1308 - Operating Systems