What Is An Operating System
An operating system or OS is a program or set of programs whose function is to manage the system resources (which define program receives attention from the processor, memory management, create a file system, etc.), and provides an interface between computer and user. It is the first program that runs the machine when it is connected (a process called bootstrapping) and, thereafter, does not crash until the computer shuts down. The operating system rotates with the implementation of other programs, like you’re watching, controlling and orchestrating the entire computational process.
According to some authors (Silberschatz et al, 2005; Stallings, 2004; Tanenbaum, 1999), there are two distinct ways of conceptualizing an operating system:
- By the user or developer perspective (top-down view) is an abstraction of the hardware, making the role of intermediary between the application (program) and the physical components of computer (hardware) or
- A bottom-up view from the bottom up: it is a resource manager, i.e., controls which applications (processes) can be performed, when, what resources (memory, disk, peripherals) can be used.
The usual acronym to describe this kind of program is OS (Operating System).
In the first generation (roughly 1945-1955), computers were so large that they occupied rooms immense. We basically built with valves and panels, operating systems “did not exist.” Programmers, who were also traders, controlled by the computer keys, wire and warning lights. Names such as Howard Aiken (Harvard), John von Neumann (Institute for Advanced Study in Princeton), John Adam Presper Eckert Jr. and William Mauchley (University of Pennsylvania) and Konrad Zuse (Germany) formed, with their contributions, the basis for human success in building primitive computers.
In the next generation (roughly 1955-1965), were created in batch systems (batch systems), which allowed better use of computing resources. The base operating system was a program monitor, used to queue work (jobs). The user was removed from the computer, each program was written on punch cards, which in turn were charged, along with its compiler (usually Fortran or Cobol), by an operator, which in turn was using a call control language (JCL: job control language).
At the beginning of the first computer operating systems were unique, because each sold mainframe needed a specific operating system. This problem was the result of different architectures and machine language used. After this phase, began the search for operating systems that automate the exchange of tasks (jobs), because the systems were single user and have punch cards as input (thus eliminating the work of people who were hired only to exchange the cards drilled).
One of the first general-purpose operating systems CTSS was developed at MIT. After the CTSS, MIT, Bell Laboratories of AT & T and General Electric developed the Multics, which aimed to support hundreds of users. Despite the commercial failure, the Multics was the basis for the study and development of operating systems. One of developers of Multics, who worked for Bell, Ken Thompson, began to rewrite the Multics concept in a less ambitious, creating Unics (1969), which later came to be called Unix. The operating systems were generally in assembly program and even Unix in the beginning. So, Dennis Ritchie (also of Bell) created the C language from the language B, which was created by Thompson.
Finally, Thompson and Ritchie rewrote Unix in C. The Unix version has created an ecosystem, which include: System V derivatives (HP-UX, AIX), BSD family (FreeBSD, NetBSD, OpenBSD, etc.)., Linux and even Mac OS X (which is derived from Mach and FreeBSD).
In the 1970s, began to appear when personal computers, there was a need for an operating system easier to use. In 1980, William (Bill) Gates and his classmate, Paul Allen, founders of Microsoft, they buy the system QDOS (Quick and Dirty Operating System) from Tim Paterson for $ 50,000, baptized him with DOS (Disk Operating System) and sell licenses to IBM.
The DOS has sold many copies as the default operating system for personal computers developed by IBM. IBM and Microsoft would also be a partnership for the development of a multitasking operating system called OS / 2. After the end of the partnership soon followed IBM alone in the development of OS / 2.
In the early 1990s, a Finnish computer science student posted a comment in a Usenet thread saying that it was developing a core operating system and asked if anyone would like to assist in the task. This student was named Linus Torvalds and the first step toward the well-known Linux was given at that time.
Operating System – Overview
An operating system can be seen as a very complex program that is responsible for the overall operation of a machine from the software at all installed hardware on the machine. All processes of a computer are behind a complex programming that controls all the functions that a user imposes on the machine. There are several operating systems, among them the most used in everyday life, typically used in home computers are Windows, Linux and Mac OS X.
A computer with the installed operating system could not provide access to all content depending on the user. With an operating system, can establish permissions to multiple users working with this. There are two types of accounts can be created in an operating system accounts Administrator and Limited accounts. The Administrator account is an account that provides access to the entire machine, since the management of folders, files and software for work or entertainment control of all your hardware installed.
The Limited account is an account that has permissions to access some folders or install software that is installed in the root system or that have some connection with hardware that changes the normal functioning or customized by the administrator. For this type of account can access other content on the disc or software, the administrator can customize the account permissions to offering some features of the system and can also remove access to certain areas of the system.
The operating system works with the initiation of processes that will need to function properly. These processes may be files that need to be updated frequently, or files that process data useful to the system. We have access to multiple operating system processes from task manager, where all processes are in operation since the start of the operating system to its current use. You can also view memory usage by each process, where the operating system begins to show errors or failures to access the programs become slow, you can check in Task Manager which processes will be blocked or high number of processing that is affecting the normal functioning of memory.
Operating System – Functioning
An operating system has the following functions:
1. process management;
2. memory management;
3. file system;
4. input and output data.
The multitasking operating system is prepared to give the user the illusion that the number of processes running simultaneously on the computer is greater than the number of processors installed. Each process gets a slice of time and switch between multiple processes is so fast that the user thinks that his execution is concurrent.
Algorithms are used to determine which process is running at any given time and for how long.
The processes can communicate, this is known as IPC (Inter-Process Communication). The mechanisms generally used are:
- Named pipe;
- Shared memory;
- Sockets (sockets);
- Message exchanges.
The operating system should normally enable multiprocessing (SMP or NUMA). In this case, different processes and threads can run on different processors. For this task, it must be reentrant and interruptible, which means it can be stopped in the middle of executing a task.
The operating system has full access to system memory and should allow the processes of users have secure access to memory when ordering.
Several operating systems use virtual memory, which has three basic functions:
- Ensure that each process has its own address space, starting at zero, to prevent or solve the problem of relocation (Tanenbaum, 1999);
- Provide memory protection to prevent a process that uses a memory address not belonging to them;
- Enabling an application to use more memory than physically exists.
- Cloud Computing: The Concept and Examples of its Virtual Services | Part 1 - July 23, 2012
- Why Rapidly Growing Companies Need Cloud Computing | Part 1 - July 22, 2012
- Web Designing Process | Strategic Planning | Part 1 - August 7, 2011