Home / News / operating systems : how did everything start?

operating systems : how did everything start?

Interested in the history of operating systems development? Super! You will learn why “Apple” is cooler than “Windows,” and will understand the principles of operation of the main OS.

Definition
The operating system is a software between the application and the equipment, that is iron and not absolutely making the computer. Its main objective is providing the optimum environment of execution for applications. Fixed functions of OS: providing different levels of abstractions, protection and resource management. Let’s sort everyone separately.

Different abstraction layers
Abstractions are necessary for work with hardware as without them use of metal is almost impossible. Also operating system should create virtual resources or do non-renewable resources renewable. Memory (4GB of a virtual memory vs 1GB of physical memory) can become an example of non-renewable resources.

Protection
The operating system is necessary as the protection mechanism if you start several applications at the same time. Also it limits access to certain resources both programs, and users.

For example, what will occur if the unlimited memory access is provided to the program?

int* p = (int*) 0xdead;

* p=1;

What if the user tries to waste all the resources?

while(1) { fork(); }

Resource Management
Many resources are limited, so you need to distribute them as accurately as possible between applications and programs.

What happens if several programs ask for a lot of memory at once?

char buf[1000000]; //memory

History in dates
1950 — Single user programmable computer.

Users had to be registered for access to the computer which was in laboratory or, say, in computer center. Intervals in which they individually could start the programs were given by it (for example, from two to three o’clock in the morning). At this time nobody other had access to the computer. For start of the program it was necessary to load it into memory over old data. The operating system then was not necessary as only one program was always started and there was only one section of memory. Programs were stored on punched cards. The program, data and the compiler of a programming language was necessary for start (stored on punched cards too). The result of the program was transferred to other set of punched cards. Because of increase in demand for use of such computers soon only workers in white dressing gowns began to have access to the “sacred” machine.

1955 — Batch processing (batch processing).

It became clear soon that such use of the computer is very inefficient and inconvenient for users as to sit in laboratory at 3 o’clock in the morning alone and to wait for results — such to itself perspective. Besides, it is expensive in respect of time, the computer was not occupied with any processes during setup and program load.

For this reason the model of batch processing was presented. The idea was in combining punched cards of several users in one pack.

All programs were started one by one, and the user received result after all punched cards were processed. Too it is not absolutely effective, such system is not interactive and if in the program there was a bug, then it was impossible to learn about it in process.

1965 — IBM System/360

This mainframe with standard architecture was developed for scientific and commercial programming. OS/360 was System/360 operating system.

1959-1965 — Time-Sharing OS: CTSS (Compatible Time Sharing System)

There was a transition from punched cards to the system of distribution of time. Such computers possessed four consoles and different covers. Users could debazhit online, in the course of start of the program. However such systems did not differ in good protection.

1963-1970 — Time-sharing OS: Multics

MIT, Bell Labs and GE changed design only. There was a customized equipment, modern languages of programming and operating systems were issued. In spite of the fact that this system never really worked, it is the most influential OS as laid the foundation for Unix, MacOS, Linux and Windows.

1969 — Time-sharing OS: Unix.

Ken Thompson and Dennis Ritchey (Bell Labs) developed the Unix operating system. The system is written in language of the high level — the Unix language C. possessed a simple cover which could be replaced with another. The file system represented structure tree, and files were implemented in the form of the unstructured sequences of bytes. Also operating system had multiprocessor: some processes could create others. In a priority there was an interactive system. A great number of users had simultaneous access to the computer via nonintellectual terminals. In the first Unix to a system there was no binder. Likely, this concept was not known at that time. But it is quite possible that it was just forgotten to be implemented. And it happens.

IEEE developed the standard for Unix of systems (POSIX) to avoid chaos. This standard represents a set of system calls which should be supported by operating systems of Unix.

Development continuation

IBM Personal Computer

This exhibit possessed the microprocessor of Intel of 8088 4.77 MHz and had the color monitor. Its cost was $6000. The open architecture allowed users to write own software and to make the equipment.

MS-DOS

Early DOS was very primitive if it is so possible to tell about the operating system. Microsoft developed the Windows system based on GUI which worked at MS-DOS (at the very beginning of OC Windows was simple GUI for MS-DOS). GUI the operating systems developed on 16-bit by Intel the assembler were Windows 95 and 98. Windows NT (“New Technology”) is the rewritten 32-bit version of Windows 98. Then appeared Windows 2000 (Windows NT version 5.0), Windows XP, Windows Vista, Windows 7.

1991 — Linux

Open source the operating system which was developed by Linus Torvalds on the basis of 80386 processors. Linux v.01 was started on a limited number of devices and had no netvorking. But from the corresponding Unix support;)

All subsequent releases were designated by an even number if the version was considered as successful, and — if there jambs and defects were odd.

Zoo of Operating Systems

After development of different OS by a main objective there was a development of the unique operating system which would be started on all devices. All listed above OS are intended only for some certain type of the equipment.

Meynfreymny OS

Meynfreymny operating systems began to develop. The mainframe is the huge computer system which is usually occupying the whole room. It quite expensive (> 1 million EUR). Such computers contain many processors (reaches 64) and even more disks (> 1000, sometimes even> 65,000).

RAM at such devices corresponding (> 100 GB). Such systems very reliable: any rebut within 10 years, and even longer. They are optimized for processing of big data at a high speed. Mainframes usually are on sale together with software: System/z with z/OS, IBM 390 with OS/390, IBM 360 with OS/360.

Server OS.

The similar server device is connected to network. Not essentially, to what (for example, to TCP/IP or SNA). Such device should provide services to a great number of users (email-server, web server, printing-server, Application-server and others). This system should be always available to the client, that is, downtime should not make more than one hour a week (depends on a specific case, of course). Also the view of platforms should not influence access for users to the server. Server systems work at Unix/Linux (Enterprise Edition) operating systems.

Personal Computer ОS

The modified server operating system with GUI. Normal OS on such devices — Linux, Android, Windows 98, XP, Windows 8, Mac OS (BSD Unix), iOS. Such system provides effective communication with the user through GUI. One more advantage is Internet access. Not the mobility and execution of the operations offline as it would be problematic to put the mainframe in a backpack are in the last place. But it is so possible to make with the laptop.

Real-Time ОS

Such systems perform tasks for a certain time frame and can react to changes. Usually they need applications of control. Real-Time of OS meets, for example, in the control system of the nuclear reactor or in observation systems. Also this type of OS is used in many medical devices. Parallelism is a problem as it is necessary to provide a 100% guarantee that some process will not be interrupted by another. Typical software for such systems are Realtime Linux, QNX, VxWorks.

Embedded Systems OS.

The built-in systems (Embedded Systems) represent small or very small computing systems. Mobile phones belong to small. They are similar to PC, but they have more limited functionality. These systems work at Embedded Linux, Windows CE, Symbian. To very small it is possible to carry microcontrollers and sensors. They are intended for execution of a narrow range of tasks. Software: VxWorks, QNX, TinyOS.

Chip Cards OS

These are probably the smallest systems that meet in credit cards. They also have CPU and memory, but microscopic. Such systems are most often used for security purposes. Some models are Java oriented.

About IT

Check Also

10 useful Python fragments to help you work

29 fragments implemented in Python that will help write code at the speed of Flesh! …

Leave a Reply

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