01 解开Linux操作系统的面纱

01 解开Linux操作系统的面纱
什么是操作系统?

  • 操作系统是用户和计算机的接口,同时也是计算机硬件和其他软件的接口;
  • 用户程序是运行在操作系统之上的
  • 操作系统的功能包括管理计算机系统的硬件、软件及数据资源,控制程序运行,改善人机界面,为其他应该软件提供支持等,使计算机系统所有资源最大限度地发挥作用,提供了各种形式的用户界面,使用户有一个好的工作环境,为其他软件的开发提供必要的服务和相应的接口
01 解开Linux操作系统的面纱

常说的Linux和Linux内核关系

1.os是一种管理计算机软硬件资源的系统软件,而kernel是os最基本的部分,也就是说,两者是包含关系。os是接口,内核是一个操作系统的核心

2.内核用于管理系统资源,例如提供对软件层面的抽象(例如对进程、文件系统、同步、内存、网络协议等对象的操作和权限控制),和对硬件访问的抽象(例如磁盘,显示,网络接口卡(NIC));操作系统,在内核的基础上有延伸,包括了提供基础服务的系统组件。

3.一个内核不是一套完整的操作系统,现在默认linux为linux内核,这是由于历史源因造成的,实际上一般来讲,一个Linux发行版本出来包括Linux内核之外,还包含大量的软件(套件),比如软件开发工具,数据库,Web服务器(例如Apache),X Window,桌面环境(比如GNOME和KDE),办公套件(比如OpenOffice、org)等等。

01 解开Linux操作系统的面纱

对于每一个进程,最上面标注出来的部分都是固定的,也就是说,确保了每一个进程都能调用os内核程序来完成自己的操作。

参见:内核和操作系统的区别https://zhuanlan.zhihu.com/p/54665833

详细的架构图如下:

01 解开Linux操作系统的面纱

注意用户可以直接调用系统也可以通过函数库,一般来讲会有个缓冲区的问题,如不了解内核,就使用函数库就好了。

LINUX的历史

01 解开Linux操作系统的面纱

操作系统发展杰出贡献者

01 解开Linux操作系统的面纱

计算机与数字电路发展史

01 解开Linux操作系统的面纱

Linux发展简图

01 解开Linux操作系统的面纱

Linux常见分支

01 解开Linux操作系统的面纱

用户系统占比

01 解开Linux操作系统的面纱

服务器操作系统占比

01 解开Linux操作系统的面纱

为什么要学LInux

  • 大厂必须,但学校未必学,被大众忽视
  • 走进Linux的世界,你才能成为合格的软件工程师
  • 研究Linux内核代码,将学到的数据结构和设计模式落地实践
  • 了解Linux生态,能让你事半功倍的学习

进阶路线

01 解开Linux操作系统的面纱

书籍推荐

《鸟哥的Linux私房菜》

《Unix高级编程》

微软和苹果发展史