ADVERTISEMENT

JUPITER SCIENCE

Operating Systems

An operating system is a software program that acts as a medium to interact with the computer’s hardware resources – memory, processor, storage, etc. efficiently without having the need to deal with each and every individual component separately and the need to go into the specific programming and operating details of each and every component. In other words, an Operating System simplifies the interaction with a hardware device i.e., the computer.

An operating system (OS for short) is the first program that “loads” after you boot your system (in simple terms, to boot a system means to switch ON the system). In fact, the first program that gets loaded is the device-specific bootstrap program that is stored in the ROM and is vendor-specific code. This bootstrap program is basically a sequence of machine codes that initializes the hardware components (in other words bring them to life). The bootstrap program then looks for the specific region of the storage area for the Operating System code and loads it to the memory (RAM). The OS once loaded, is the actual software program that takes control of the hardware components and drives them in a particular direction i.e., provides a meaningful existence to these hardware components.

An operating system itself is a software program that comprises several subsystem programs. One such set of programs is called drivers. These drivers are special programs or sets of codes that are device-specific and let the OS manage the hardware devices. An OS can only manage a hardware device when the related driver program has been loaded into the OS driver repository. Some devices can be managed by standard driver programs which these days come pre-loaded with the OS (all standard keyboards/mouse pointing devices, etc.). Some devices are vendor-specific and can only work when their vendor-provided drivers are installed in OS.

The definition of the operating system is not a standard one as it depends on the type of hardware and the use case or nature of the application of the computing system. No book or webpage will give a one-line definition of the OS. This is so because the significance of the Operating System (OS) depends on the nature of the applicability of the computing system. For a PC or Laptop Mobile Handset system, the OS is the bare minimum software that is required in order to render the underlying hardware useful and operable to the user. In such scenarios, more human intervention is involved and hence, the role of OS is limited primarily to provide a framework wherein users can develop and deploy application programs. The expectation from OS is limited in such cases rather and the stress is more on the application programs and their performance.

On the other hand, for computing systems deployed for business needs like the web or application hosting to cater to the need of thousands or millions of transactions or for real-time systems like navigation or health-monitoring systems, the expectation is different. In such cases, hardly any human intervention is involved or expected (except during installation or periodic maintenance like the patch or version upgrades). In such cases, OS must be highly reliable and provide maximum reliability and the least dependability on other applications. Such Operating Systems are highly customized wherein most of the functionalities are inbuilt within the main OS code itself and hardly any separate application is required. In such a case, the OS serves the dual role – manage the underlying hardware in an optimal way and also provide the customized functionality for which the entire computing system is built i.e., it is an integrated software system.

In general, an Operating System is characterized by one or more of the below features. Some of these may not be applicable to one use case or another.

  • Manage the hardware and act as a media or middle-man for human interaction with the hardware directly.
  • Provide a framework to develop and deploy applications for a wide variety of utilities – ranging from a simple mathematical calculator to banking or financial applications, graphics and media processing and so on.
  • Provide a set of basic utilities (or applications) that is vital for any users to work with a computer system. Like for example, almost all desktop Operating Systems provide a calculator, a clock, a media player, a browser etc. Once again, it depends on the context in which the OS is being used. If the OS is meant for user interaction (like Windows/Apple for Desktop systems) then such basic utilities are a must else the OS will be useless. But for customized systems to manage specific hardware like jet propulsion systems, these utilities are of no applicability.
  • Allow an interface by which users can store, modify and retrieve data conveniently.
  • Establish a file management system wherein files can be stored in the most optimal way ensuring minimal wastage and having options of disk maintenance.
  • Be able to schedule and execute automated tasks (backup, cleanup, software updates etc).
  • Should have a user interface that is convenient for the users to use. The interface should be available in Standard Spoken languages, requiring minimal technical jargon so that non-technical users can also operate the computing devices.
  • Provide a multi-tasking environment where a user can initiate several tasks in parallel.
  • Provide a multi-user environment where several users can work on the system at the same time and also share the hardware resources without affecting each-others work.
TAGS:

Comments

What do you think?

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *

Recommended Reads for You

History of JavaScript Evolution

The early development or evolution of JavaScript is attributed to Brendan Eich & Netscape Corporation. Netscape Navigator was one of the most widely used and popular browsers in the 1990s. In the initial days of the internet, web browsers were mere...

read more

Databases

What is a database? A database is a software program that provides facilities for efficiently storing and retrieving information. The information can be stored on a disk (traditional databases) or kept in memory (in-memory databases). The sole purpose of a database is...

read more
Share This