Computer's components can be classified in various ways and one of them is to classify them by the harware, operating system and application software.
Now, hardware consists of a motherboard, hard drive, optical drive, other peripheral circuit board on motherboard like sound card, graphics card and other input/output (i/o) devices like keyboard, mouse, monitor, etc. Now the job of hardware is to receive instructions from Operating system (OS) and process it and give back the results.
Application programs are softwares like Microsoft word, Skype, Yahoo messenger, etc. The computer user uses the peripheral i/o devices to use these softwares and give instructions to the computer through these softwares. Like you use a webcam and keyboard on yahoo messenger to chat to someone. Every user, like an engineer, doctor, video director, etc has their own needs and each of them require specific application softwares for their specific work duties.
Now, the motherboard cannot understand the user commands like a video captured by the webcam. So the operating system comes into picture and its job is to translate the user commands it receives from the application programs and convert them to binary data that the motherboard can process. Operating system also manages data transfer between the hard drive - main memory (RAM) - cache - microprocessor and all other peripheral devices. OS is the backbone of the computer which binds all software and hardware. So no matter which type of user is using which application software, OS will translate their data such that the hardware can understand it and becomes a kind of link for them.
Example with steps:
1. User records a video using his camcorder.
2. He connects his camcorder to the computer.
3. He then starts the application software that came with the camcorder to download the video and edit it as per his needs.
4. Operating system works as a link between the OS and the camcorder specific software and helps to transfer the data from camcorder to the hard drive through the motherboard.
Operating system has various roles depending on where it is installed. In general purpose computers or personal computer OS has following roles :
1. OS is a software program that is designed to work as a translater between the application programs and the computer hardware. The task of OS is application program execution by converting the data to binary form that can be understood by the hardware of computer.
2. When some operation is to performed on some data that is present in the hard drive, OS helps the data transfer from the hard drive to the microprocessor through the main memory and cache.
3. OS also controls the data transfer from the i/o devices like keyboard, monitor, mouse, etc where it helps the hardware in converting the analog inputs to digital data.
4. Virtual memory : Now every computer has limited memory like 2 GB. But OS can use the concept of virtual memory and thereby allocate a part of hard drive as virtual memory such that the application programs can see that they are using contiguous working memory (address space) but in reality it may be physically fragmented. This makes the use of main memory more efficient.
5. OS controls the data transfer between the hard drive - main memory (RAM) - cache - microprocessor and all other peripheral devices.
6. In computers which have multiple caches, OS takes care of cache coherancy and thereby makes sure that the microprocessor always gets the current and right data to work on.
7. OS also take care of multitasking where by it can allow several application programs to run simultaneously on time and resource sharing basis such that the microprocessor is utilised optimally.
Difference in OS and Application software.
Application softwares are developed for specific applications as per user needs. Like an engineer needs Autocad to design, a doctor needs a software to work on heart beat data, etc. OS works as a general purpose mother software which can understand all these application softwares and translate them in a form that can be understood by the computer hardware. OS directly deals with computer hardware. Application software needs OS to talk to hardware. OS hides the complexity of the hardware by abstraction for the application software. Application software hides the complexity of the operating system's tasks and processes by providing a well trimmed user interface to the end user.Posted by andy before here: Click Here