1.引言
为什么要学习Linux
1.首先,在服务器端,因为其稳定、可靠、免费的特点,Linux占据了大量的市场份额,世界上大部分公司的的后台服务器都是Linux系统,Linux可以在服务器上稳定安全地长期运行;
2.其次,由于安全性,在银行,政府等对信息安全要求较高的场所,使用的操作系统大部分也是Linux,基本不会使用安全性差的windows,而且绝大多数的黑客攻击手段和病毒都是针对windows系统的;
3.最后,在IT工作者的眼里,个人电脑端的Linux系统则是最适合于编程学习的操作系统,并且在其开源环境和社区里,可以最大程度地帮助一个程序员成长。
为什么Linux的logo是一只企鹅
企鹅是南极洲的标志,根据国际公约,南极洲不属于世界上任何一个国家,为全人类所共有,所以Linux选择企鹅图案作为logo,也意味着:开源的Linux不属于任何公司私有,将服务于全人类
2.计算机硬件
在一个完整的冯诺依曼计算机体系结构中,计算机由五大基本单元组成,分别是:存储器,运算器,控制器,输入设备,输出设备
3.计算机操作系统
常见的操作系统有:Mac,Linux,Windows 安卓,以及近年来兴起的鸿蒙
操作系统主要提供两个方面的能力,一个是管理计算机资源,包括了CPU管理,存储器管理,设备管理和文件管理;另一个是提供了各种各样的用户接口,包括命令接口,图形用户接口,程序调用接口,实现外部程序与操作系统内核的交互。
操作系统启动
操作系统的启动分为传统模式,也就是基于BIOS的启动流程,另一种是当前的主流模式,也就是基于UEFI的启动流程。BIOS或UEFI是固化在主板上的一段程序,计算机启动时会默认运行这段程序,然后通过这段程序去运行主板引导项
4.Linux系统概览
Linux发展历史
1969年,Unix诞生于贝尔实验室
1984年,贝尔实验室将Unix商业化
1984年,Tanebaum开发Minix操作系统用于教学并开放源码
1984年,Richard M.Stallman发起自由软件与GNU项目,起草GPL协议
1991年,Linus Torvalds受Minix的影响实现初版的Linux内核
1992年,Linux内核以GPL协议发行V1.0
Linux版本
Linux内核+常用软件=Linux发行版本
查看Linux系统内核版本
1.登录Linux,在终端输入cat/proc/version
2.登录Linux,在终端输入uname-a
查看Linux系统版本
1.登录Linux,在终端输入cat/etc/os-realse
2.登录Linux,在终端输入cat/etc/issue
3.登录Linux,在终端输入cat/etc/lsb-realse
Linux系统应用领域
1.服务器系统:Linux系统可以为企业架构WWW服务器、数据库服务器、负载均衡服务器、邮件服务器、DNS服务器、代理服务器、路由器等,不但使企业降低了运营成本,同时还获得了Linux系统带来的高稳定性和高可靠性,且无须考虑商业软件的版权问题。
2.嵌入式操作系统:由于Linux系统开放源代码,功能强大、可靠、稳定性强、灵活而且具有极大的伸缩性,再加上它广泛支持大量的微处理体系结构、硬件设备、图形支持和通信协议,因此,在嵌入式应用的领域里,从因特网设备(路由器、交换机、防火墙,负载均衡器)到专用的控制系统(自动售货机,手机,PDA,各种家用电器),LINUX操作系统都有很广阔的应用市场。
3.个人桌面操作系统:所谓个人桌面系统,其实就是我们在办公室使用的个人计算机系统,例如:Windows xp、windows 7、Mac等。Linux系统在这方面的支持也已经非常好了,完全可以满足日常的办公及家长需求。
5.Linux系统结构
进程管理
进程是一个正在执行的程序或命令,有自己的地址空间,占用一定的系统资源;一个CPU核在同一时间内只能执行一个进程;进程由它的进程ID和父进程的进程ID唯一识别。
系统中运行的程序远远大于CPU的核数,Linux OS是如何做到同时运行这些程序的?
进程调度:Linux OS通过某种策略或者规则选择进程轮流占用CPU进行运行,也就是并发执行,在宏观上,这些程序是连续运行的,在微观上,这些程序是并发运行的,也就是轮流运行的。
文件系统
在Linux中,一切皆文件
Linux文件系统是采用树状的目录结构,最上层的(根)目录
Linux有这么多不同的文件系统,是如何实现对用户提供统一的调用接口的?
虚拟文件系统:对应用层提供一个标准的文件操作接口;对文件系统提供一个标准的文件接入系统;用户直接操作VFS,再由VFS直接控制各个文件系统。