常熟 [ 更换 ]
热门城市
北京上海广州深圳成都杭州南京武汉天津西安重庆青岛沈阳长沙大连厦门无锡福州济南宁波昆明苏州郑州长春合肥南昌哈尔滨常州烟台南宁温州石家庄太原珠海南通扬州贵阳东莞徐州大庆佛山威海洛阳淮安呼和浩特镇江潍坊桂林中山临沂咸阳包头嘉兴惠州泉州三亚赣州九江金华泰安榆林许昌新乡舟山慈溪南阳聊城海口东营淄博漳州保定沧州丹东宜兴绍兴唐山湖州揭阳江阴营口衡阳郴州鄂尔多斯泰州义乌汕头宜昌大同鞍山湘潭盐城马鞍山襄樊长治日照常熟安庆吉林乌鲁木齐兰州秦皇岛肇庆西宁介休滨州台州廊坊邢台株洲德阳绵阳双流平顶山龙岩银川芜湖晋江连云港张家港锦州岳阳长沙县济宁邯郸江门齐齐哈尔昆山柳州绍兴县运城齐河衢州太仓张家口湛江眉山常德盘锦枣庄资阳宜宾赤峰余姚清远蚌埠宁德德州宝鸡牡丹江阜阳莆田诸暨黄石吉安延安拉萨海宁通辽黄山长乐安阳增城桐乡上虞辽阳遵义韶关泸州南平滁州温岭南充景德镇抚顺乌海荆门阳江曲靖邵阳宿迁荆州焦作丹阳丽水延吉茂名梅州渭南葫芦岛娄底滕州上饶富阳内江三明淮南孝感溧阳乐山临汾攀枝花阳泉长葛汉中四平六盘水安顺新余晋城自贡三门峡本溪防城港铁岭随州广安广元天水遂宁萍乡西双版纳绥化鹤壁湘西松原阜新酒泉张家界黔西南保山昭通河池来宾玉溪梧州鹰潭钦州云浮佳木斯克拉玛依呼伦贝尔贺州通化朝阳百色毕节贵港丽江安康德宏朔州伊犁文山楚雄嘉峪关凉山雅安西藏四川广东河北山西辽宁黑龙江江苏浙江安徽福建江西山东河南湖北湖南海南贵州云南陕西甘肃青海台湾内蒙古广西宁夏香港澳门
培训资讯网 - 为兴趣爱好者提供专业的职业培训资讯知识

操作系统的最强入门科普(Unix/Linux篇)

系统

大家好,我是小枣君。

今天这篇文章,我们来聊聊操作系统(Operating System)

说到操作系统,大家都不会陌生。我们天天都在接触操作系统——用台式机或笔记本电脑,使用的是windows和macOS系统;用手机、平板电脑,则是android(安卓)和iOS系统。

如果是从事信息通信行业,还经常会和ubuntu、CentOS、Fedora这样的Linux系统打交道。

其实,操作系统的种类极多,远远不止我们知道的这些。

从使用场景来看,操作系统大致可以分为桌面操作系统、服务器操作系统、移动终端操作系统、嵌入式操作系统、物联网操作系统、云操作系统等类别。

如下表所示:

那么,操作系统究竟是什么?

从本质来看,操作系统其实就是一套软件。

它属于底层软件,可以说是一个大管家,专门负责把所有的硬件和上层软件(中间件、数据库、应用程序等)管理和连通起来,并进行资源调配,完成用户下达的任务。

操作系统包揽了很多底层的复杂工作,大大简化了应用软件的开发难度。

比如说,我开发一个视频播放器,就不需要写那些底层硬件代码。

操作系统还有一个重要作用,就是方便用户使用。

用户有了操作系统,就能更好地管理计算机,进行人机交互(下达命令,查询结果和状态)。

新手学习操作系统,最麻烦的是认名字和认类别。接下来,小枣君就从时间线的角度,对所有的操作系统关系进行一下梳理。

█ 操作系统的诞生

操作系统这个东西,并不是计算机诞生时就有的。

1946年2月,在美国的宾夕法尼亚大学诞生了世界上第一台电子计算机,它的名称叫ENIAC(埃尼阿克)。

ENIAC是由大量的电子管(真空管)组成,体积极为庞大,占地170平方米,重达30吨,耗电174千瓦。在算力上,它可以实现每秒5000次的加法运算。

这种早期的计算机,既没有显示器,也没有键盘,更没有鼠标,全部都是人工操作

在使用时,专职操作员将运算信息记录在穿孔卡带上。系统启动后,读取卡带信息,然后进行运算,最后输出结果。

穿孔卡带

计算机的速度快,人的速度慢。所以,计算机经常处于等待状态,等待操作员的输入。

这严重耽误了计算效率,浪费时间,也浪费钱(电费)。于是,到了20世纪50年代,开始出现了批处理系统(batch processing)。

批处理系统中,操作员把用户提交的作业进行分类,把一批作业编成一个“作业执行序列”。每一批作业,都由专门编制的监督程序(monitor)自动依次处理。

这个“监督程序”,就是操作系统的雏形。它标志着操作系统的诞生(1955年)。

最早使用批处理系统的,是第二代通用计算机,代表产品是IBM的1401和7094等。

批处理虽然提升了效率,但仍存在缺陷。

例如,当作业进行I/O(输入/输出)操作时,主机会等待操作完成,造成自身空闲。再例如,计算机只能同时运行一个批处理任务,效率还是太低。

到了60年代,集成电路技术高速发展,我们有了更快的处理器、更大的内存、更丰富的I/O设备。同时,通道和中断技术出现,开始允许系统执行“挂起”操作。

于是,就有了“多道程序系统”

简单来说,计算机系统从串行变成了并行,可以同时运行多个任务(多个程序放入内存,交替在CPU中运行,共享硬软件资源)。

多道程序系统大幅提升了计算机的工作效率。再后来,系统又支持了多个用户同时使用。于是,就变成了“多用户+多任务”的系统,称为“分时系统”

“分时”和我们通信领域的“时分复用”有点像,就是把处理机的运行时间分成很短的时间片,按时间片轮流分配给各个作业使用。

再后来,技术又继续演进。终于,我们有了时效性更强的“实时操作系统”。这种系统,就非常接近于现代操作系统的概念了。

█ UNIX的诞生

1964年,美国电话电报公司(AT&T)、通用电器公司(GE)及麻省理工学院(MIT)合作,提出了一个超级分时操作系统的开发计划。

这个计划,被命名为Multics OS。Multics是“MULTiplexed Information and Coputing System(多路信息与计算系统)”的意思。

当时,他们打算借助这个系统,打造一台能够连接1000台终端、满足300人同时在线的计算机。

这个计划持续了五年,并没有达到既定目标。于是,1969年,隶属AT&T公司的贝尔实验室(Bell Labs)宣布退出。

贝尔实验室退出之后,相关的项目组成员就闲了下来。其中就有一个人,名字叫做肯·汤普森(Ken Thompson)。

肯·汤普森此前在Multics上开发了一款名叫"星际旅行(Space Travel)" 的游戏。退出Multics项目后,肯·汤普森就没办法继续玩这个游戏了。

于是,他突发奇想,打算在一台空闲的PDP-7(DEC公司生产的一种小型计算机,性能很低)上,开发一个简单操作系统,运行这个游戏。

1969年8月,肯·汤普森趁着妻子回家探亲,用了1个月的时间,使用汇编语言,写出了一个简版的Multics系统(包括一组内核程序,一些内核工具程序,以及一个小的文件系统)。

实验室的同事们,将这个系统戏称为Unics。Uni作为前缀,是“单一、一个”的意思。Unics,对应Multics,是“单路信息与计算系统”的意思。

后来,大家又取其谐音,直接称其为“Unix”

一边工作一边下棋的肯·汤普森

基于汇编语言编写的Unics,硬件通用性差,没法移植到其它机器上运行。因此,肯·汤普森尝试使用BCPL、PASCAL语言进行重写。但是,效果并不理想。

这时,他的同事丹尼斯.里奇(Dennis Ritchie)站了出来。

丹尼斯.里奇在BCPL语言(也就是B语言)的基础上,开发了一套新的语言,也就是后来如日中天的C语言(按字母表顺序,B之后就是C)。

不久后,丹尼斯.里奇用C语言重写Unics成功。就这样,Unix操作系统正式诞生了。

正在操作DEC PDP-11计算机的 肯·汤普森(坐者)和丹尼斯.里奇(站者)

1973年,丹尼斯·里奇和肯·汤普森正式发表论文,宣布了Unix的存在。消息引起很大反响,很多人都期望学习和研究Unix。

贝尔实验室(AT&T)推出了Unix之后,因为受美国政府反垄断制裁的原因,并不能对它进行销售。所以,他们只能将Unix无偿提供给所有人学习。

又过了一段时间,AT&T发布了Unix系统第5版,并授权给教育机构使用。1975年,他们第一次以2万美元的价格,授权企业使用Unix第6版。

这期间,很多企业和机构开始打Unix的主意。

1977年,伯克利大学的研究生比尔·乔伊(Bill Joy),将Unix程序整理到磁带上,推出了BSD版本。BSD,就是Berkeley Software Distribution(伯克利软件发行版)。

1978年,SCO(一家服务器系统软件供应商)包装发行了商用版的Unix。

目前公认的最完美版本,是1979年发行的System V7。这个版本也被Unix玩家们称为“最后一个真正的UNIX”。

1980年,美国国防高级研究计划局(DARPA)准备制定TCP/IP协议,选择了与BSD合作。这大大刺激了Unix的发展和普及。

后来,丹尼斯·里奇和肯·汤普森被誉为Unix之父和C语言之父。1983年,他们二人都获得了图灵奖。

在System V7推出之后,AT&T发布新的使用条款,将Unix源代码私有化。Unix开始走向了商业闭源之路。

很多公司,都推出了自己的Unix系统分支。比较有名的,是Sun公司的Solaris、IBM公司的AIX、惠普公司的HP-UX,以及由BSD版本发展起来的FreeBSD。

Solaris这个系统,小枣君非常熟悉。当年我就是通过Solaris学会的Unix。它的稳定性极高,主要用在SUN公司的服务器(V240/V440等)上,CPU都是完全不一样的,叫做SPARC。

FreeBSD的应用范围就广多了。它在BSD许可协议下发布,由来自世界各地的志愿者开发和维护,允许任何人随意使用和发行(在保留版权和许可协议信息的前提下)。

苹果公司的OS X,就是基于FreeBSD的。

详细的Unix闭源分支我就不多说了,发一张图,大家可以参考:

█ Linux的诞生

Unix开始收费和商业闭源之后,引起了一个大叔的不满。这个大叔,名叫理查德·马修·斯托曼(Richard Matthew Stallman)。

理查德·马修·斯托曼

1984年,他发起了自由软件体系GNU(GNU is not unix),模仿Unix的界面和使用方式,重新开发一个开源的版本。他还组织成立了FSF(Free Software Foundation,自由软件基金会),起草了GPL(GeneralPublicLicense,通用公共许可证)。

GNU著名的牛头logo

斯托曼的做法,具有划时代的意义。他开创了开源软件的黄金时代。

所有GPL协议下的自由软件,都必须遵循“Copyleft(非版权)"原则——

即:自由软件,允许用户自由拷贝、修改和销售。但是,对其源代码的任何修改,都必须向所有用户公开。

到上世纪90年代初,GNU项目已经开发出许多高质量的免费软件,其中包括有名的emacs编辑系统、bash shell程序、gcc系列编译程序、gdb调试程序等等。

这些都为后来Linux的诞生创造了条件。

Unix源代码私有化之后,在大学中不再允许使用Unix源代码。

1987年,荷兰阿姆斯特丹自由大学计算机系的安德鲁·塔能鲍姆教授(Andrew S. Tanenbaum,也译为谭宁邦),为了能在课堂上教授操作系统课程,决定在不使用任何AT&T源代码的前提下,自行开发与Unix兼容的操作系统。

安德鲁·塔能鲍姆

他将这个系统称为MINIX,也就是mini-UNIX(小型UNIX)的意思。

MINIX的主要工作平台,是IBM PC及其兼容机。这款PC搭载了英特尔公司的16位处理器——Intel 8080。

开发出MINIX之后,塔能鲍姆教授并没有对它进行大规模推广。而且,他认为这个系统只是用于教育目的,所以也没有进行深入开发。

他甚至还不允许别人加入代码(估计是怕侵权Unix),这就更加限制了MINIX的发展和普及。

1991年,正在芬兰赫尔辛基大学求学的林纳斯·托瓦兹(Linus Torvalds),对Unix产生浓厚兴趣,尝试借助MINIX完成一些日常工作。

MINIX的功能太弱,无法满足林纳斯的需求。于是,他利用GNU的bash当做开发环境,gcc当做编译工具,成功编写出了拥有10000行代码的Linux内核(Linux kernel)

此时的林纳斯,只有21岁!

林纳斯·托瓦兹

林纳斯的Linux内核基于POSIX(Portable Operating System Interface for Computing Systems,可移植操作系统接口)标准,能够与绝大多数Unix操作系统兼容。

他在发布时,选择了遵循GPL协议和GNU宗旨,所以,正式发布时,命名为“GNU/linux”。

Linux的吉祥物是企鹅(英文名: Tux) 因为林纳斯小时候被企鹅咬过,印象非常深刻

█ Linux和Unix的关系

这里,我要特别说明一下,Linux和Unix的关系。

很多人觉得,Linux就是Unix,这显然是不对的。由上面的介绍可以看出,Linux是开源自由软件,而Unix是对源代码实行知识产权保护的传统商业软件。两者是完全不同的东西。

那么,Linux是不是类Unix(Unix-like)系统呢?

严格来说,也不行。

Linux只是风格上和Unix很像,但它并不含有Unix的代码。UNIX的源代码,为SCO公司所有。UNIX的商标权和标准认定权,属于OPENGROUP所有。

真正意义上的类Unix系统,必须要通过官方认证(例如苹果的MacOS)。而Linux并没有。

█ Linux的发行版

大家注意,林纳斯1991年开发的,并不是一个操作系统,而是一个内核。

后来,全球开发者(开源社区、企业、个人等)对内核代码进行大量的修改和补充,加入GUI(图形界面)、应用等部分,才形成了相应的Linux操作系统发行版,也就是真正的操作系统。

这些发行版分为社区版和商业版。社区版数量较多,开发和维护的主体是开源社区。商业版数量较少,是在社区版的基础上进一步优化而来。

值得一提的是,发行版之间也有复杂的衍生关系。也就是说,发行版可以构建在另一个发行版之上。

一些大家可能比较熟悉的发行版,包括:Ubuntu、Debian、Centos、Fedora、 Redhat Linux、Slackware、Turbolinux、Mandrake、SUSE、红旗、麒麟等。

Slackware和Debian是最早期的两个发行版,创建于1993年。

Debian的后代分支比较庞大。除了Debian本身之外,这个分支的主要代表还有Ubuntu(构建在Debian之上)、LinuxMint(构建在Ubuntu之上)、Kali Linux。

Redhat,也就是大家很熟悉的红帽系列。它的主要发行版是Red Hat Enterprise Linux(RHEL),针对企业客户。

CentOS是RHEL源代码再编译的产物,修正了不少Bug,稳定性更强。

除了RHEL之外,Redhat还向社区提供另一个免费发行版,即Fedora。

这些发行版的具体关系和发布时间,如下图所示:

上面这些操作系统,小枣君基本都用过。2005年我刚工作的时候,用的是Debian、RHEL、Solaris。后来,开始用Fedora。再后来,是CentOS。刚开始的使用,很难受,不适应。但是一旦用习惯了,就觉得很爽。

2020年底,红帽公司宣布陆续停止维护CentOS,后续将无法获得官方升级和补丁。虽然比较可惜,但也给国产操作系统带来了机会,我们以后会讲。

█ 未完待续……

说到这里,大家应该对Unix和Linux操作系统的家族脉络有了基本的了解。

下期文章,小枣君会重点聊聊WindowsmacOS那条线。敬请关注!

如果大家觉得文章不错,还请帮忙多多转发!谢谢!

相关知识

相关内容

舞蹈艺考生的艰辛也许你不能体会,记录舞蹈模拟联考实录

我们控制不了成绩,控制不了排名,我们唯一能控制的就是保持努力向上的姿态,还有二十几天同学们就要走上联考的舞台,那里没有聚光灯,没有为你欢呼的观众,只有拿着纸笔为你打分的评委,为了让评委多打一分,你们现在要付出十分的努力!一、考前准备上妆考前···

难忘的考级(图)

难忘的考级幸福小学 张馨怡然我从四岁半开始学习古筝,共参加了六次考级,它们都如过眼云烟,被时间遗忘了。前段时间我参加了古筝最高一级11级的考试,为我多年的古筝学习画上了一个完美的句号。我有一个缺点——“舞台恐惧症”,平时给家人,老师、同学们···

外交部翻译司姚梦瑶最新英文致辞,网友:教科书级别

请点击”必克英语_10W+英语人必备资料库“,即可获得小编精心整理的20G英语学习资料。大家都知道,中国外交部卧虎藏龙。且不说外交天团,他们身边跟着的翻译小姐姐也是个个才华与颜值并重,魅力非凡!前不久,在第23届“外研社·国才杯”全国大学生···

后疫情时代,教培行业的趋势与变化

未来教培行业会从教师为核心,课时为考量标准,变化到以学生为核心,以教学效果为考量标准。文章来源 : 多知网近期,在由校管家主办、有赞教育联合主办的第六届中国民办教育科技节上,智来时代创始人邢炼带来《把控教培行业新拐点》主题演讲,从产业趋势、···

常熟理工学院2022年成人高等学历教育招生简章

常熟理工学院坐落于人文荟萃、山明水秀的国家历史文化名城、国际花园城市——苏州常熟,是江苏省省属公立全日制普通本科院校。常熟理工学院1958年建校(苏州师范专科学校),2004年经教育部批准升本。学校坚持校地互动发展、校企合作的办学思路,围绕···

2023年成人学历提升已进入报名高峰期,成考

1、成考VS自考,该如何选择?2023年常熟成考和自考是两种国家正规的学历提升方式,含金量相同,且在学信网上可查询。只要满足一定条件,都有机会获得本科毕业证和学位证。因此,同学们可以依据自身实际情况来选择适合自己的方式。(1)报名条件成人高···

3岁孩子可以开始学围棋吗?

在我们教学实践中,家长经常会问:我家宝宝可以开始学围棋吗?我们通常先了解一下:您家宝贝现在几岁啊?几岁的可能性都有。这就涉及一个很重要的问题是:孩子从几岁开始学习才是最好的呢?理论上的最小年龄是多大?实际学习中的恰当年龄又是多大呢?今天,我···

乐器学习难不难,有没有什么捷径和方法?

很多老朋友遇到我是一直在问?什么时候有空要跟我一起学一下乐器。问乐器学习难不难,有没有什么捷径或方法?我先肯定地回复一下各位朋友,学什么都有难度,但是不论学什么。只要你想学,且制定合理的学习目标,你就可以学得会。有没有捷径,也肯定给大家回复···

成考也能考学位证书吗?申请条件都有哪些?

自考、成考、远程国开,作为国家承认、社会认可、学信网可查的学历提升方式,无论是毕业证,还是学位证,满足条件都是可以申请获取的。那么今天,就来聊一聊成考拿学位的那些事儿1、成考学位申请条件成考学士学位的授予条件是由高校自主规定的,各高校的规定···

舞蹈教练证书怎么考?需要什么样的报名条件?证书报考条件?

舞蹈教练这个职业是我们非常熟悉的,舞蹈是一种形体艺术,让观众感受到不一样的人体艺术,身体随着节奏做出不同的样式,带来不一样的美感体验。舞蹈教练就是教学者,让学员掌握跳舞的基本要领,最后学有所成。舞蹈教练证书是这类人员上岗就业的必要证明材料,···

国外孩子都在学的自然拼读,我们要不要学?该怎么学?

昨天发了段小视频,是潼潼在上Phonics课。老师在后面念单词,几个大多都5岁左右的孩子拿笔在白板上“听音写词”。孩子听完便写,nap, map, ham这类的简单词语,在他们笔下已非常熟悉。潼潼其实算是这两个月才开始正式学Phonics的···

挖呀挖,赚呀赚,黄老师五一收入100万,手法老练,真实身份曝光

“在小小的花园里面,挖呀挖呀挖,种小小的种子开小小的花”相信近日大家都听过这首歌,而让这首歌爆火的是一位集颜值与才华于一身的幼儿教师——黄老师。在五一小长假期间,黄老师通过爆火视频走红网络,并迅速开启了直播,用流量变现和直播打赏方式,在短短···

十本女主是仵作的古言经典完本,作者功底扎实文笔很好,书荒必看

大家好,我是阿志,点击【关注】,每天分享精彩小说!今天分享十本女主是仵作的古言经典完本,作者功底扎实文笔很好,书荒必看!1.《大唐验尸官》——顾婉音(完本)简介一场大火,烧掉的不仅是所有证据。还有她的家人。十年后,重新踏入长安城。她,重操旧···

空气炸锅哪个品牌最好?五大口碑好宝藏产品良心推荐

作为一个家电测评领域的资深玩家,我对各类家电都非常熟悉,特别是现在备受瞩目的空气炸锅。然而,市面上的空气炸锅琳琅满目,有些商家为了追求利益,使用劣质材料制造元器件,导致安全性能严重不足,甚至会产生有害气体,对我们的健康造成损害!因此,很多粉···

第三龄学院2023年春季学期结业汇演:给你一个舞台,让你绽放精彩

深居俯夹城,春去夏犹清。上周,第三龄学院在瓯海新桥得尔乐·榕宴酒店举行2023年春季结业汇演。会昌湖畔,古榕树旁,这场因志趣相投而相识相交的聚会上,师生共叙一起走过的草木生长的春天,在蛙声与蝉鸣的盛夏收藏硕果。彩排:9点彩排,有学员7点就到···

黑猫投诉公布最新数据,被投诉最多的是这些教育培训品牌

记者丨蒋超、陈薪屿在家长教育意识加强、教育消费升级以及信息技术迅猛发展等多种因素的推动下,中国在线教育市场规模和用户规模不断增长。从目前来看,在线教育主要涉及K12教育、高等教育、素质教育、语言学习及职业培训等行业。据艾媒咨询《2019—2···

扎哈尔·布朗 - 著名的提琴教育家

文章由本人独立翻译,严禁转载!扎哈尔·布朗“学好小提琴有两件事是非常重要的:天资聪颖和有一个聪明的老师“扎哈尔·布朗在瑞士为年轻小提琴手举办了一场新的比赛,他告诉卡廷卡·韦尔茨 Katinka Welz,在他成为世界著名的小提琴教师的过程中···

成年人学唱歌最难的是什么?最易的又是什么?此处有详解。

昨天,我的培训部来了几位五十来岁的大姐,她们组团来学声乐,希望学习民族唱法,并且希望人少,我是来者不拒,量身提供学习方案。我认为,人数少的优势就在于有更多机会得到老师的诊断和近距离指导,选作品的时候也更容易实现个人偏好,至于发声方法讲解,人···

一个神奇的网站:能看成人片,还能学微积分

互联网,不是法外之地。正解局出品海外,有这样一个神奇的网站,建站仅仅19天,网站就跨过了“5000万用户”的门槛,而油管、脸书和推特都是花了好几年才达到。没错,这就是全世界“老司机”都非常熟悉的P站。如今,这个网站每月的访问量达到35亿次,···

应战 ChatGPT,谷歌 Bard 开启公测,目前仅面向英美成年用户

当地时间 3 月 21 日,谷歌正式宣布开放 Bard 的访问权限。谷歌表示 Bard 是大型语言模型的“直接接口”和谷歌搜索的“补充体验”。该公司表示,人们在搜索信息时应以 Bard 作为起点,并鼓励他们在特定网页上寻找更多相关资源,而非···