Linux操作系统概述
Linux操作系统概述
1 引言
1.1 为什么要学操作系统
- 基础:OS是基础,是魂
- 冲破科技打压:生态
- 安全:国家安全,个人安全
- 国产操作系统的发展历程
1.2 Linux运维岗位工作要求
- 负责服务器的维护,平台和集群的维护。
- 参与新上线系统业务流程设定、系统需求。
- 负责所维护系统事件、问题处理、上线变更评审及操作。
- 根据系统运行情况,编写并根据实际情况更新技术运维文档。
1.3 Linux系统方向薪资情况
- 百度、阿里巴巴、腾讯等国内排行前100位的互联网公司,全部使用的是Linux系统,Linux云计算/架构师等高端人才,而企业更是高薪难求,未来5年,我国Linux人才缺口将达到120万,经济下滑,就业难,而Linux这项技能会让你高薪笑傲职场。
2 Linux系统运维工程师进阶流程
2.1 阶段一:Linux运维入门阶段
- Linux运维基础实战入门、Linux运维系统管理和技能进阶、Linux运维企业级应用服务、Linux企业级安全原理和防范技巧。
2.2 阶段二:Shell编程实战阶段
- Shell编程入门及实战进阶、MySQL应用原理及管理入门、企业级Http服务及缓存优化加速、企业级负载均衡解决方案、企业级高可用集群解决方案。
2.3 阶段三:企业级运维实战阶段
- 企业级运维监控实战、Linux运维自动化、企业级运维实战案例、大型互联网WEB服务体系架构、大型互联网集群架构和实战方案。
3 操作系统基础
3.1 操作系统定义
- 操作系统是计算机系统中的一个系统软件,是一些程序模块的集合——它们能以尽量有效、合理的方式管理和分配计算机的软硬件资源,合理的组织计算机的工作流程,控制程序的执行并向用户提供各种服务功能,使得用户能够灵活、方便、有效的使用计算机,使整个计算机系统能高效地运行。
3.2 Linux的诞生与发展
- Linux创始人:林纳斯 托瓦兹
- Linux 诞生于1991年,作者上大学期间
- 因为创始人在上大学期间经常需要浏览新闻和处理邮件,发现现有的操作系统不好用, 于是他决心自己写一个保护模式下的操作系统,这就是Linux的原型, 当时他21岁,后来经过全世界网友的支持, 现在能够兼容多种硬件,成为最为流行的服务器操作系统之一。
- 1984年,RichardStallman发起了GNU源代码开放计划并制定了著名的GPL许可协议。
- 1987年,GNU计划获得了一项重大突破一gcc编译器发布,这使得程序员可以基于该编译器编写出属于自己的开源软件。
- 1991年10月,芬兰赫尔辛基大学的在校生LinusTorvalds编写了一款名为Linux的操作系统该系统因其较高的代码质量且基于GNUGPL许可协议的开放源代码特性,迅速得到了GNU计划和一大批黑客程序员的支持。
- 1994年1月,BobYoung在Linux系统内核的基础之上,集成了众多的源代码和程序软件,发布了红帽系统并开始出售技术服务,这进一步推动了Linux系统的普及。
- 1998年以后,随着GNU源代码开放计划和Linux系统的继续火热,以IBM和Intel为首的多家IT企业巨头开始大力推动开放源代码软件的发展。
- 2021年初,Linux内核已经发展到了5.10版本,并且Linux系统版本也有数百个之多,但它们依然都使用Linus Torvalds开发、维护的Linux系统内核。RedHat公司也成为了开源行业及Linux系统的带头公司。
3.3 Linux内核
- Linux系统的组成:Linux系统内核 + 系统级应用程序
- 内核提供系统最核心的功能,如:调度CPU、调度内存、调度文件系统、调度网络通讯、调度IO等。
- 系统级应用程序,可以理解为出厂自带程序,可供用户快速上手操作系统,如:文件管理器、任务管理器、图片查看、音乐播放等。
- 比如,播放音乐,无论用户使用自带音乐播放器或是自行安装的第三方播放器
- 均是由播放器程序,调用内核提供的相关功能,由内核调度CPU解码、音响发声等。
- 可以看出,内核是Linux操作系统最核心的所在,系统级应用程序只是锦上添花。
- Linux内核是免费开源的,任何人都可以下载内核源码并查看且修改。
- 可以通过: https://www.kernel.org 去下载Linux内核
3.4 Linux发行版
内核是免费、开源的,这也就代表了,任何人都可以获得并修改内核,并且自行集成系统级程序,提供了内核+系统级程序的完整封装,称之为Linux发行版。
目前市面上由非常多的Linux发行版,常用的、知名的如下:
不同的发行版:
基础命令100%是相同的(课程讲解内容)
部分操作不同(如软件安装)
4 开源软件的优势与许可协议
4.1 开源软件对比闭源软件的优势
- 低成本
开源工作者都是在幕后默默且无偿地付出劳动成果,为美好的世界贡献一份力量,因此使用开源社区推动的软件项目可以节省大量的人力、物力和财力。 - 低风险
使用闭源软件无疑把命运交付给他人,一旦封闭的源代码没有人来维护,你将进退维谷;而且相较于商业软件公司,开源社区很少存在倒闭的问题。 - 高品质
相较于闭源软件产品,开源项目通常是由开源社区来研发及维护的,参与编写、维护、测试的用户量众多,一般的bug还没有等爆发就已经被修补。 - 更透明
没有哪个笨蛋会把木马、后门等放到开放的源代码中,这样无疑是把自己的罪行暴露在阳光之下。
4.2 常见的开源许可
- GNUGPL(GNUGeneralPublicLicense,GNU通用公共许可证):
只要软件中包含了遵循GPL协议的产品或代码,该软件就必须也遵循GPL许可协议且开源、免费,因此这个协议并不适合商用软件。遵循该协议的开源软件数量极其庞大,包括Linux系统在内的大多数的开源软件都是基于这个协议的。 - BSD(BerkeleySoftware Distribution,伯克利软件发布版)许可协议:
用户可以使用、修改和重新发布遵循该许可的软件,并且可以将软件作为商业软件发布和销售。 - Apache许可证版本(Apache LicenseVersion)许可协议:
在为开发人员提供版权及专利许可的同时,允许用户拥有修改代码及再发布的自由。该许可协议适用于商业软件,现在热门的Hadoop、Apache HTTP Server、MongoDB等项目都是基于该许可协议研发的。 - MIT(Massachusetts Institute of Technology)许可协议:
目前限制最少的开源许可协议之一,只要程序的开发者在修改后的源代码中保留原作者的许可信息即可,因此普遍被商业软件所使用。
5 Linux主要特点
- 多任务系统
- 多用户系统
- 采用保护内存方式执行程序
- 使用动态链接库
- 共享内存
- 使用虚拟内存
- 符合POSIX标准
- 可模拟执行各种操作系统上的应用程序
- 免费的源代码
- 支持多语言键
- 使用虚拟终端
- 支持多种文件系统
- UMSDOS支持
- 支持CD-ROM标准ISO9660文件系统
- 网络功能强大
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 kukualのblog!