DP Reading: "openEuler Operating System" (2) Development History of Operating Systems


Computer composition diagram
openEuler is a domestic server operating system that works with CentOS, and its application scenarios are constantly enriched.
As the requirements for localization continue to increase, as an active professional novice, it is also necessary to contact the openEuler operating system to promote the application localization process.
I hope my reading notes can help more people. Without further ado, I started typing.

The development history of operating systems

I spent an afternoon reading this section for the first time, and I still felt a lot.

The emergence of operating systems is closely related to the development of hardware systems, and it is constantly being improved with the technological development of computer systems. In order to better explain, we must first understand the development history of operating systems.

The era of manual operation

From 1946 to 1955, the first generation of computers represented by ENIAC was born.

The world's first general-purpose computer "ENIAC" was born at the University of Pennsylvania. The inventors are Americans John W. Mauchly and J. Presper Eckert.

The first generation of computers was mainly composed of vacuum tubes, had slow calculation speed, had no operating system, and directly used machine language to deal with hardware. Record programs and data on media such as paper tapes and cards, and load them into the computer through input devices (such as paper tapes and card readers). Then start the program to run through the console switch. After the calculation is completed, the calculation result is output, and the user removes the paper tape or card. In the era of manual operation, users use computers on a reservation basis. When the first user uses the computer, he will monopolize all computer resources, and after completion of use, the second user will be arranged to use the computer according to the reservation time.

将程序与数据记录在介质上
通过输入设备载入计算机
通过控制台开关启动程序运行
计算完毕后输出计算结果
用户取走卸下纸带或者卡片

At this stage, the computer processes tasks serially, and the computing efficiency is extremely low.

batch processing system

In the 1950s, the emergence of transistors greatly promoted the computing performance and reliability of computers.
There is a conflict between the low speed of manual operation and the high speed of computers. The only solution is to bid farewell to traditional manual operation and realize automatic transition of operations. In this case, batch processing systems emerged.
In the era of batch processing, programmers no longer directly operate the machine, and dedicated computer operators are deployed to reduce machine errors. At the same time, the operator batch-combines the jobs submitted by users into a job execution sequence and sends them to the computer for processing. This batch processing method is called online batch processing , which realizes automatic transfer of jobs and reduces the time spent waiting for manual input in the total time. However, during the job input and output process, the CPU is still in a waiting state, and resource utilization needs to be improved.

A batch processing system is a computer operating system. After the user submits a batch of jobs to the operating system, he no longer intervenes, and the operating system controls them to run automatically. This kind of operating system that uses batch processing job technology is called a batch operating system. It is divided into single-channel batch processing system and multi-channel batch processing system, which is not interactive.

Therefore, in the later period of the batch processing system era, in order to solve the contradiction between the high-speed host and slow peripherals and improve the utilization of the CPU, the offline batch processing method appeared.

Compared with the online batch processing method, offline batch processing adds a satellite machine that is not directly connected to the host but deals with I/O devices.

The satellite machine reads the user's job from the input machine (such as a card machine) and puts it on the input belt, and reads the output execution results from the output belt and transmits them to the output machine (such as a printer), which effectively alleviates the problem of host and equipment contradiction between.

The host and satellite work in parallel, which improves the efficiency of the computer system and gives full play to the high-speed computing power of the host.

Offline batch processing system model

Offline batch processing also promotes the generation of supervisory procedures . The operating system of the supervisory program and batch processing era has some functions of the modern operating system. Responsible for loading and running various system processing programs, such as assemblers, compilers, link assembly programs and program libraries (such as I/O standard programs), etc., to help complete automatic program transition. In the history of computer operation, General Motors, the first software that can be called an operating system, was developed at this time . Other representative operating systems are FORTRAN Supervision System (FMS) and IBSYS.

multiprogramming system

A multiprogramming system stores several independent programs in the computer memory at the same time, so that they run interleaved with each other under the control of a management program. Two or more programs are in the same state from start to end in the computer system. , these programs share computer system resources.

The counterpart is single-programming, which allows only one program to run in the computer's memory. For a single-CPU system, it is only a macro concept that programs are running at the same time. Although they have all started running, from a micro perspective, there is only one program running on the CPU at any time.

A multiprogramming system refers to loading multiple independent jobs into the memory at the same time . The operating system schedules the jobs to run alternately on the CPU according to certain rules, sharing computer resources. Eg: While a job is waiting for I/O, the operating system can schedule another program to enter the CPU. The emergence of multi-programming systems has enabled the operating system to begin to have the basic prototype of a modern operating system .
Schematic diagram of work scheduling in multiprogramming system

time-sharing operating system

CTSS

CTSS (Compatible Time Sharing System) was first demonstrated by the MIT Computer Center in the United States in 1961, and a related paper was published in 1962. It was the earliest time-sharing operating system and operated until 1963. MIT's MAC program had a second copy of it, and it only operated in these two locations.

CTSS is a time-sharing system. Its main feature is that it allows multiple users to use the same computer at the same time, and each user can operate independently without affecting each other.

HISTORY OF MULTICS

MULTICS was jointly developed by Bell Labs, MIT and General Electric Company in 1964. It is a multi-person and multi-tasking operating system installed on mainframes. It is based on Compatible Time-Sharing System (CTSS) As the foundation, the mainframe GE-645 built in the General Electric Company of the United States is designed to connect 1,000 terminals and support 300 users online at the same time. However, due to lagging behind schedule and lack of funds, the MULTICS project failed in 1969, and Bell Labs also withdrew from the project. After the MULTICS project was discontinued, two software engineers from Bell Labs, Thompson and Ritchie, developed UNIX based on the C language.

History of UNIX and Linux

The development history of UNIX can be traced back to 1965. The Massachusetts Institute of Technology (MIT), General Electric Company (GE) and AT&T's Bell Labs jointly developed the Multics engineering project. Its goal was to develop an interactive multi-channel A time-sharing operating system with program processing capabilities, but because the goals pursued by Multics were too large and complex, the project progress fell far behind schedule, and Bell Labs finally announced its withdrawal.

In 1969, Ken Thompson of Bell Labs in the United States developed the UNIX system on the DECPDP-7 machine.

In 1971, Dennis Ritchie, a colleague of Ken Thompson, invented the C language.

In 1973, most of the source code of the UNIX system was rewritten in C language, which laid the foundation for improving the portability of the UNIX system.

As for Linux, it was born in 1991 and was developed by Finnish college student Linus Torvalds and many enthusiasts who joined later. Linux is free software and UNIX with open source code.

Upstream community:
Linux community link: https://www.linux.org/pages/download/

Popular Linux distributions compared:

Debian series

  1. Debian is one of the earliest Linux distributions and is known for its stability. It has a strong community support, which means users can find plenty of tutorials and resources to solve problems they may encounter. Additionally, Debian has a large selection of software packages to suit every need.
  2. Ubuntu is a derivative of Debian and is ideal for beginners. It inherits the stability and ease of use of Debian, but is richer in software packages and more suitable for modern users. Ubuntu has strong community support and continuous technology updates, keeping it on the cutting edge.
  3. Mint is another Debian-based distribution with a user-friendly interface suitable for beginners. It contains some proprietary software, which may make some developers or businesses concerned.

Debian community link: https://www.debian.org/

Red Hat series

  1. Red Hat is probably the most famous Linux version. It can provide users with a complete set of service support and is especially suitable for use in public network environments. Red Hat has numerous packages that make it highly flexible and customizable.
  2. CentOS is a derivative of Red Hat, a free operating system based on Red Hat Enterprise Linux, suitable for enterprise servers and network equipment. It also has strong community support and rich software packages.
  3. Fedora is a community project supported by Red Hat and is a fast, stable, and innovative Linux system. Fedora is often the first to adopt new technologies and innovations, which makes it highly valuable in scenarios that require the latest technologies.

Red Hat community link: https://www.redhat.com/en

If you need a stable and widely supported distribution, Debian may be a good choice. And if you value innovation and technology cutting-edge more, Red Hat may be more suitable for you.

Red Hat
提供一套完整到位的服务支持
公共网络环境
高度灵活性和定制性
CentOS
Red Hat Enterprise Linux
企业服务器和网络设备
强大的社区支持
丰富的软件包
Fedora
快速稳定有创新力
最先采用新的技术和创新
需要最新技术的场景

History of DOS and Windows

History of DOS:

  1. DOS (Disk Operating System) is a single-user, single-task 16-bit character interface operating system developed by the American Microsoft Corporation in 1979 for the IBM-PC series.
  2. 由于DOS系统是微软公司为IBM的个人电脑开发的,称为MS-DOS,因此后来其他公司生产的与MS-DOS兼容的操作系统也沿用了这个称呼,如PC-DOS、DR-DOS等。
  3. DOS在1985年到1995年及其后的一段时间内占据操作系统的统治地位。
  4. 最著名和广泛使用的DOS系统从1981年直到1995年的15年间微软在推出Windows 95之后,宣布MS-DOS不再单独发布新版本,不过FreeDOS等与MS-DOS兼容的DOS则在继续发展着。

Windows的历史:

  1. Windows操作系统是由微软开发的图形界面操作系统。第一版Windows系统由微软于1985年发布,该系统基于麦金塔系统开发
  2. Windows系统经过不断发展,逐渐成为了个人计算机的主流操作系统,并且成为了许多其他计算机平台的标准操作系统。
  3. Windows系统的普及度不断提高,成为了一个全球性的计算机现象。随着时间的推移,Windows系统的版本不断升级,功能也不断增强和完善。
  4. 目前,Windows系统已经成为了一个庞大的商业生态系统,拥有数亿用户和数百万开发者

Windows开发者社区链接:https://developer.microsoft.com/zh-cn/windows/
Insert image description here

Android和iOS的历史

随着移动终端的普遍流行,面向移动终端的操作系统有不少,如Android、iOS、Windows Phone、BlackBerry OS。
但最为主流的还是Android和iOS,二者的发展历史如下:

Android:

  • 2002年,安迪·鲁滨开始研发Android设备。
  • 2005年,Google收购了Android,并开始与硬件制造商合作开发基于Android的智能手机。
  • 2007年,iOS发布了1.0版本,包含:全面屏、浏览器、map(GoogleMap)、iTunes等功能。
  • 2008年,Android发布了1.0版本,第一台Android手机HTC Dream AndroidMarket、键盘操作。
  • 2009年,Android发布了1.5(蛋糕)版本,支持虚拟键盘。
  • 2010年,iOS发布了3.3版本,为了支持iPad;Android发布了2.2版本支持储蓄卡、系统优化明显。
  • 2011年,Android发布了3.0(蜂巢)版本,只支持Pad,4.0重新整合可运行在Pad和手机上 。
  • 2013年,iOS发布了7.0版本,支持指纹解锁,UI扁平化风格。
  • 2014年,Android发布了5.0(棒棒糖)版本,使用ART虚拟机。
  • 2014第一季度Android平台已占所有移动广告流量来源的42.8%,首度超越iOS。但运营收入不及iOS。
  • 2015年,网络安全公司Zimperium研究人员警告,安卓(Android)存在“致命”安全漏洞,黑客发送一封彩信便能在用户毫不知情的情况下完全控制手机
  • 2018年10月,谷歌表示,将于2018年12月6日停止Android系统中的Nearby Notifications(附近通知)服务,因为Android用户收到太多的附近商家推销信息的垃圾邮件
  • 2020年3月,谷歌的Android安全公告中提到,新更新已经提供了CVE-2020-0069补丁来解决针对联发科芯片的一个严重安全漏洞
  • 2022年2月,Android 12L Beta 3 版本发布,首次支持了 Pixel 6 和 Pixel 6 Pro,以及更新的测试环境、缺陷修复和优化
  • 2022年2月,谷歌宣布推出Android隐私沙盒,旨在引入更新、更具私密性的广告解决方案,以限制与第三方机构共享用户信息,但不损害广告主短期利益。
  • 2022年3月27日消息,据俄罗斯卫星通讯社报道,由于受到美国制裁,谷歌已经停止认证运行Android系统的俄罗斯BQ公司的智能手机,该公司将转向使用中国华为公司打造的鸿蒙系统。
  • 2022年,安卓推出类似灵动岛的App——dynamicSpot。以及宣布安卓和 Chrome 浏览器带来初步的 Passkey 通行密钥支持。
  • 2023年4月4日,谷歌发布 2023 年 4 月的安卓安全公告。谷歌和以往一样,发布了两个补丁级别,其中 2023-04-01 针对安卓系统和框架,而 2023-04-05 级别包含厂商的安全修复补丁。

安卓开发者社区链接:https://developer.android.google.cn/?hl=zh-cn
Android Developer Community

iOS:

  • 2007年,iOS发布了1.0版本,包含:全面屏、浏览器、map(GoogleMap)、iTunes等功能。
  • 2008年,iOS发布了2.0版本,增加了App Store应用商店和支持GPS等功能。
  • 2009年,iOS发布了3.0版本,增加了复制粘贴、MMS、语音备忘录等功能。
  • 2010年,iOS发布了4.0版本,增加了多任务处理、FaceTime视频通话、iBooks等功能。
  • 2011年,iOS发布了5.0版本,增加了通知中心、iCloud、Siri等功能。
  • 2012年,iOS发布了6.0版本,增加了苹果地图、Passbook等功能。
  • 2013年,iOS发布了7.0版本,重新设计了界面,增加了控制中心、AirDrop、iTunes Radio等功能。
  • 2014年,iOS发布了8.0版本,增加了扩展、手势识别、iCloud Drive等功能。
  • 2016年,iOS发布了10.0版本,增加了消息、语音邮件等功能。
  • 2018年9月22日,美国苹果公司在最新的操作系统中秘密加入了基于iPhone用户和该公司其他设备使用者的“信任评级”功能。
  • 2021年11月17日消息,据报道,苹果iOS 15.2 Beta泄露全新“SportsKit”框架
  • 2022年1月28日,苹果向 iPhone 和 iPad 用户推送了 iOS / iPadOS 15.4 开发者预览版Beta更新(内部版本号:19E5209h),本次更新距离上次发布隔了 2 周时间,带来了 Universal Control 全局控制、全新的 emoji 表情、苹果钱包 Apple Card 小部件等新功能。
  • 2023年6月6日,苹果于2023苹果全球开发者大会发布iOS17,支持Contact Posters通讯海报、live voicemail、Face time和信息功能更新、短信新增贴纸功能、Name Drop、精准键入自动校正、全新笔记APP、待机等功能。

iOS开发者社区链接:https://developer.apple.com/cn/
iOS developer community link

以上就是Android和iOS的历史发展过程。

鸿蒙

华为鸿蒙系统(HUAWEI Harmony OS),是华为公司在2019年8月9日于东莞举行的华为开发者大会(HDC.2019)上正式发布的操作系统。

  • 2020年9月10日,华为鸿蒙系统升级至HarmonyOS 2.0版本。2021年4月22日,华为鸿蒙 HarmonyOS 应用开发在线体验网站上线 。5月18日,华为宣布华为HiLink将与Harmony OS统一为鸿蒙智联 。
  • 2021年6月2日晚,华为正式发布HarmonyOS 2及多款搭载HarmonyOS 2的新产品 。7月29日,华为Sound X音箱发布,是首款搭载HarmonyOS 2的智能音箱 。
  • 2021年10月,华为宣布搭载鸿蒙设备破1.5亿台。 [54] 鸿蒙 HarmonyOS 座舱汽车2021年底发布。
  • 2021年11月17日,HarmonyOS迎来第三批开源,新增开源组件769个,涉及工具、网络、文件数据、UI、框架、动画图形及音视频7大类。
  • On August 4, 2023, Huawei’s HarmonyOS 4 operating system was officially released. The Developer Preview version of Huawei's HarmonyOS Next operating system has been released.

Developer community link: https://developer.harmonyos.com/cn/community/
Developer community screenshots

real-time operating system

With the rapid development of computers, operating systems have also begun to enter fields such as industrial process control and military real-time control. These fields have extremely high requirements for real-time business processing.

Because multiprogramming systems and time-sharing programming systems have satisfactory resource utilization and system response time, they cannot meet the business processing needs in the real-time business field.

Real-time operating system RTOS (Real-Time operation System) refers to an operating system that can guarantee the completion of specific functions within a certain period of time.

What are the main features of a real-time operating system?

The main characteristics of real-time operating systems include:

1. 及时性:实时操作系统应能在确定的时间内对外部事件作出响应,并能在规定时间内完成对事件的响应处理。
2. 可靠性:实时操作系统应具有高可靠性,能在各种可能发生的环境中稳定运行,并具有错误处理和恢复能力。
3. 可预测性:实时操作系统应能提供可预测的执行时间,以便支持实时应用程序和任务。
4. 扩展性:实时操作系统应能支持各种硬件平台和应用场景,并可通过扩展和定制来满足特定需求。
5. 交互性:实时操作系统应提供良好的用户界面和交互性,使用户能够方便地控制和管理系统资源。
6. 多任务性:实时操作系统应能同时执行多个任务和进程,并能优先处理关键任务,以确保实时性的要求。
7. 可定制性:实时操作系统应能根据应用需求进行定制和扩展,以支持特定的实时任务和系统功能。
8. 资源管理:实时操作系统应能有效地管理资源,以确保资源的公平分配和系统性能的最优。

These characteristics make real-time operating systems widely used in modern applications, such as automated manufacturing, medical equipment, aerospace, transportation and other fields.

实时操作系统
及时性
可靠性
可预测性
扩展性
交互性
多任务性
可定制性
资源管理
外部事件
稳定运行
提供可预测的执行时间
支持各种硬件平台和应用场景
提供良好的用户界面和交互性
同时执行多个任务和进程
根据应用需求进行定制和扩展
有效地管理资源

Mobile operating systems support more and more functions:
iPhone 15 supports Thread open source protocol
P60, supports HarmonyOS smart interconnection
...

Operating system overview of DP
'就这样啦,上游社区带动了很多下游社区的发展,无论在移动端、PC端、服务器端,操作系统都在不断发展,作为笔者作为小白很好奇、很仰慕,这么多的社区,这么多的前辈开发者,开发同行们,抑或是和我一样的开发者小白,欢迎大家来到这个操作系统组成的计算机世界!

Guess you like

Origin blog.csdn.net/m0_74037814/article/details/132862536