Operating System Roles & Responsibilities - Free Online Tutorial

All computers rely on an operating system (OS) to provide the interface for interaction between users, applications, and hardware. The operating system boots the computer and manages the file system. Almost all modern operating systems can support more than one user, task, or CPU. 

An operating system (OS) is system software that manages computer hardware and software resources and provides common services for computer programs. The operating system is a component of the system software in a computer system. Application programs usually 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.

Examples of popular desktop operating systems include Apple OS X, Linux and its variants, and Microsoft Windows. So-called mobile operating systems include Android and iOS.

The operating system has four main roles:

1.Control Hardware Access
2.Manage Files and Folders
3.Provide User Interface
4.Manage Applications

1.Control hardware access

OS automatically discovers and configures PnP (Plug and Play) hardware. The fundamental operation of the operating system (OS) is to abstract the hardware to the programmer and user. The operating system provides generic interfaces to services provided by the underlying hardware.

In a world without operating systems, every programmer would need to know the most intimate details of the underlying hardware to get anything to run. Worse still, their programs would not run on other hardware, even if that hardware has only slight differences.


2.File and folder management

Copy, delete and move files and folders. Every Windows folder provides easy access to common file and folder management tasks. When you open any folder on your computer, a list of hyperlinked tasks is displayed next to the folder contents. You can select a file or folder, and then click a task to rename, copy, move, or delete it. You can also send a file in e-mail or publish it to the Web.
In addition to the basic file and folder tasks provided in all Windows folders, there are several folders that provide links to specialized tasks.
My Pictures and My Music folders provide task links that can help you manage your picture and music files.

In the My Computer folder, you can view and select the drives on your computer, the devices with removable storage, and the files stored on your computer. You can use the task links in this folder to view information about your computer, change system settings using Control Panel, and perform other system management tasks.


Use the Recycle Bin tasks to empty the Recycle Bin or restore deleted files and folders to their original locations. The Recycle Bin is displayed on your desktop

3.User interface


Command line interface (CLI) - Only Text

A CLI (command line interface) is a user interface to a computer's operating system or an application in which the user responds to a visual prompt by typing in a command on a specified line, receives a response back from the system, and then enters another command, and so forth. The MS-DOS Prompt application in a Windows operating system is an example of the provision of a command line interface. Today, most users prefer the graphical user interface (GUI) offered by Windows, Mac OS, BeOS, and others. Typically, most of today's UNIX-based systems offer both a command line interface and a graphical user interface.

Graphical user interface (GUI) - Window's and Dialog Boxes

In computer science, a graphical user interface or GUI, is a type of interface that allows users to interact with electronic devices through graphical icons and visual indicators such as secondary notation, as opposed to text-based interfaces, typed command labels or text navigation. GUIs were introduced in reaction to the perceived steep learning curve of command-line interfaces (CLIs), which require commands to be typed on the keyboard.

The actions in a GUI are usually performed through direct manipulation of the graphical elements. In addition to computers, GUIs can be found in hand-held devices such as MP3 players, portable media players, gaming devices, smartphones and smaller household, office and industrial equipment. The term "GUI" tends not to be applied to other low-resolution types of interfaces with display resolutions, such as video games (where HUD is preferred), or not restricted to flat screens, like volumetric displays because the term is restricted to the scope of two-dimensional display screens able to describe generic information, in the tradition of the computer science research.


4.Application management


Application management (AM) is the process of managing the operation, maintenance, versioning and upgrading of an application throughout its lifecycle. AM includes best practices, techniques and procedures essential to a deployed application's optimal operation, performance and efficiency throughout the enterprise and back-end IT infrastructure.

Terms often used when comparing operating systems: 


1.Multi-user

Two or more users can work with programs and share peripheral devices, such as printers, at the same time.


Multi-user software is software that allows access by multiple users of a computer. Time-sharing systems are multi-user systems. Most batch processing systems for mainframe computers may also be considered "multi-user", to avoid leaving the CPU idle while it waits for I/O operations to complete. However, the term "multitasking" is more common in this context.


An example is a Unix server where multiple remote users have access (such as via Secure Shell) to the Unix shell prompt at the same time. Another example uses multiple X Window sessions spread across multiple terminals powered by a single machine - this is an example of the use of thin client. Similar functions were also available under MP/M, Concurrent DOS, Multi-user DOS and FlexOS.


Some multi-user operating systems such as Windows versions from the Windows NT family support simultaneous access by multiple users (for example, via Remote Desktop Connection) as well as the ability for a user to disconnect from a local session while leaving processes running (doing work on their behalf) while another user logs into and uses the system. The operating system provides isolation of each user's processes from other users, while enabling them to execute concurrently.Management systems are implicitly designed to be used by multiple users, typically one system administrator or more and an end-user community.


The complementary term, single-user, is most commonly used when talking about an operating system being usable only by one person at a time, or in reference to a single-user software license agreement. Multi-user operating systems such as Unix sometimes have a single user mode or run-level available for emergency maintenance.

2.Multi-tasking


The computer is capable of operating multiple applications at the same time.

In computing, multitasking is a concept of performing multiple tasks (also known as processes) over a certain period of time by executing them concurrently. New tasks start and interrupt already started ones before they have reached completion, instead of executing the tasks sequentially so each started task needs to reach its end before a new one is started. As a result, a computer executes segments of multiple tasks in an interleaved manner, while the tasks share common processing resources such as central processing units (CPUs) and main memory.


Multitasking does not necessarily mean that multiple tasks are executing at exactly the same time (concurrently). In other words, multitasking does not imply parallel execution, but it does mean that more than one task can be part-way through execution at the same time, and that more than one task is advancing over a given period of time. Even on multiprocessor or multicore computers, which have multiple CPUs/cores so more than one task can be executed at once (physically, one per CPU or core), multitasking allows many more tasks to be run than there are CPUs.


In the case of a computer with a single CPU, only one task is said to be running at any point in time, meaning that the CPU is actively executing instructions for that task. Multitasking solves the problem by scheduling which task may be the one running at any given time, and when another waiting task gets a turn. The act of reassigning a CPU from one task to another one is called a context switch; the illusion of parallelism is achieved when context switches occur frequently enough.


3.Multi-processing

The computer can have two or more central processing units (CPU's) that programs share.

Multiprocessing is the use of two or more central processing units (CPUs) within a single computer system. The term also refers to the ability of a system to support more than one processor and/or the ability to allocate tasks between them. There are many variations on this basic theme, and the definition of multiprocessing can vary with context, mostly as a function of how CPUs are defined (multiple cores on one die, multiple dies in one package, multiple packages in one system unit, etc.).


According to some on-line dictionaries, a multiprocessor is a computer system having two or more processing units (multiple processors) each sharing main memory and peripherals, in order to simultaneously process programs. A 2009 textbook defined multiprocessor system similarly, but noting that the processors may share "some or all of the system’s memory and I/O facilities"; it also gave tightly coupled system as a synonymous term.


At the operating system level, multiprocessing is sometimes used to refer to the execution of multiple concurrent processes in a system, with each process running on a separate CPU or core, as opposed to a single process at any one instant. When used with this definition, multiprocessing is sometimes contrasted with multitasking, which may use just a single processor but switch it in time slices between tasks (i.e. a time-sharing system). Multiprocessing however means true parallel execution of multiple processes using more than one processor. Multiprocessing doesn't necessarily mean that a single process or task uses more than one processor simultaneously; the term parallel processing is generally used to denote that scenario. Other authors prefer to refer to the operating system techniques as multi-programming and reserve the term multiprocessing for the hardware aspect of having more than one processor. The remainder of this article discusses multiprocessing only in this hardware sense.


In Flynn's taxonomy, multiprocessors as defined above are MIMD machines. As they are normally construed to be tightly coupled (share memory), multiprocessors are not the entire class of MIMD machines, which also contains message passing multi-computer systems.


4.Multi-threading

A program can be broken into smaller parts that can be loaded as needed by the operating system. Multi-threading allows individual programs to be multi-tasked.


In computer architecture, multi-threading is the ability of a central processing unit (CPU) or a single core in a multi-core processor to execute multiple processes or threads concurrently, appropriately supported by the operating system. This approach differs from multiprocessing, as with multi-threading the processes and threads have to share the resources of a single or multiple cores: the computing units, the CPU caches, and the translation look-aside buffer (TLB).


Where multiprocessing systems include multiple complete processing units, multi-threading aims to increase utilization of a single core by using thread-level as well as instruction-level parallelism. As the two techniques are complementary, they are sometimes combined in systems with multiple multi-threading CPUs and in CPUs with multiple multi-threading cores.


Comments

Popular posts from this blog

How to Boost Performance on Windows? - Free Online Tutorial

Advanced reboot for Windows 8/8.1/10 - Free Online Tutorial

List Of Most Useful Run Commands - Free Online Tutorial