Wednesday, 8 February 2017

Operating Systems

An operating system (OS) is system software that manages computer hardware and software resources and provides common services for computer programs. All computer programs, excluding firmware, require an operating system to function.
Time-sharing operating systems schedule tasks for efficient use of the system and may also include accounting software for cost allocation of processor time, mass storage, printing, and other resources.
For hardware functions such as input and output and memory allocation, the operating system acts as an intermediary between programs and the computer hardware, although the application code is usually executed directly by the hardware and frequently makes system calls to an OS function or is interrupted by it. Operating systems are found on many devices that contain a computer – from cellular phones and video game consoles to web servers and supercomputers.

The dominant desktop operating system is Microsoft Windows with a market share of around 83.3%. macOS by Apple Inc. is in second place (11.2%), and Linux is in third position (1.55%)). In the mobile (smartphone and tablet combined) sector, according to third quarter 2016 data, Android by Google is dominant with 87.5 percent and a growth rate 10.3 percent per year, followed by iOS by Apple with 12.1 percent and a per year decrease in market share of 5.2 percent, while other operating systems amount to just 0.3 percent. Linux is dominant in the server and super-computing sectors. Other specialized classes of operating systems, such as embedded and real-time systems, exist for many applications.


Memory management is a form of resource management applied to computer memory. The essential requirement of memory management is to provide ways to dynamically allocate portions of memory to programs at their request, and free it for reuse when no longer needed. This is critical to any advanced computer system where more than a single process might be underway at any time.

Several methods have been devised that increase the effectiveness of memory management. Virtual memory systems separate the memory addresses used by a process from actual physical addresses, allowing separation of processes and increasing the size of the virtual address space beyond the available amount of RAM using paging or swapping to secondary storage. The quality of the virtual memory manager can have an extensive effect on overall system performance.

A virtual machine is an operating system that emulates dedicated hardware. The user has the same experience on the virtual machine as they do on a dedicated machine. This enables the user to choose which operating system they would like to use. It saves cost by reducing the need for separate hardware.

Interrupts, the role of interrupts and Interrupt Service Routines (ISR), role within the fetch-decode-execute cycle Interrupts are useful in computers because, rather than continually polling the inputs for changes, as soon as an event (e.g. a button being pressed) happens, the CPU interrupts what it is currently doing and takes a snapshot of all the registers in the CPU at that point in time so that it can return to that state when it has finished dealing with the interrupt. The process that happens as
a result of the interrupt is called the Interrupt Service Routine (ISR).

There are different types of operating system.

A distributed operating system (OS) is a collection of independent networked nodes. Each node may have its own hardware associated with it, and there will be some sort of system management software that brings all the interconnected systems together and co-ordinates individual and collaborative activity on the different nodes.
Embedded operating systems are those that have a dedicated function and are part of (or can be part of ) a larger device. They are generally lower power consumption, low cost and use a limited amount of hardware resources which means that they need to be interfaced with in a more bespoke manner than commonplace OS systems. An example of an embedded operating system
would be embedded Linux on the Raspberry Pi.
Multi-user operating systems allow many different users to take advantage of the computer’s resources simultaneously. Multi-user operating systems share processor time. Unix is an example of a multi-user OS. Multi-tasking operating systems are those that allow you to have many different tasks happening at once, and so this is our standard modern operating system. However, some tasks such as complex scientific/bank calculations can require much more processing power. In this case, supercomputers are used but because they cost a lot of money, instead of being single-user they
are designed as multi-user systems so that many users can send tasks to them and share the resources.
Real-time operating systems (RTOS) are supposed to run under predefined deadlines and so can be classed as time critical. For instance, on an aeroplane when the pilot wants something to happen, it should do so straight away. One very important thing to remember about RTOS systems is that “the right answer too late is wrong”, since calculations for movements of a robot, for example, that arrive too late may no longer be valid.

No comments:

Post a Comment