02 计算机操作系统
操作系统(Operating System, OS),管理和控制计算机系统中硬件和软件资源,用于在用户与系统硬件之间传递信息。(承上启下)
问题思考:程序启动必须有操作系统来执行,那操作系统本身也是一个程序,那是如何在开机时被执行的呢?
操作系统启动流程
-
通过 BIOS 引导操作系统启动的传统模式
Power up=>BIOS=>BIOS 自检=>Bootloader=>OS -
基于 UEFI 引导操作系统启动的目前主流的形式
Power up=>UEFI=>Bootloader=>OS
可以简单理解为 BIOS 和 UEFI 是固化在主板上的一段程序,它们的作用是在计算机启动时初始化硬件,检测设备是否正常,然后启动操作系统。
- BIOS(Basic Input/Output System,基本输入输出系统)是一种早期的固件,它在计算机启动时负责执行POST(Power On Self Test,自检程序),检测硬件设备是否正常,然后加载引导程序,启动操作系统。BIOS存储在主板上的闪存芯片中,由于其限制比较多,如容量小、功能简单、启动速度慢等,已逐渐被新一代的UEFI所取代。
- UEFI(Unified Extensible Firmware Interface,统一可扩展固件接口)是BIOS的后继者,是一种新型的计算机固件,提供比BIOS更多的功能和扩展性。UEFI支持更大的启动盘和更多的文件系统,也支持更高级的安全和启动选项,同时启动速度更快。UEFI通常存储在主板上的闪存芯片中,并由厂商提供升级固件的方式,使其支持新的硬件和功能。
在操作系统安装时,需要选择与BIOS或UEFI兼容的启动方式。在BIOS时代,常用的启动方式是Legacy BIOS(传统BIOS)启动模式,而在UEFI时代,常用的启动方式是UEFI启动模式。通常情况下,UEFI启动方式更为推荐,因为它提供了更多的功能和扩展性,同时也支持传统BIOS启动方式,以兼容老的硬件设备。
03 Linux 系统概览
Linux 发展简史
- 1969年,Unix诞生于贝尔实验室
- 1984年,贝尔实验室将Unix商业化
- 1984年,Tanenbaum开发Minix操作系统用于教学并开放源码
- 1984年,Richard M.Stallman发起自由软件(FSF)与GNU项目,起草GPL(通用公共许可)协议
- 1991年,Linus Torvalds:受Minix影响实现初版的Linux内核
- 1992年,Liux内核以GPL协议发行V1.0
Linux版本
-
内核版本:由 Linux 作者本人维护的一个版本,它是操作系统的核心,提供了进程管理、内存管理、文件系统管理、硬件资源管理等一系列底层能力。
-
发行版本:在内核版本的基础之上添加一些常用软件,就组成了发行版本。发行版本就是通常意义上说的 Linux 操作系统,比如像:
- Debian 系列:Debian、Ubuntu
- RedHat 系列:CentOS、Fedora、RHEL
- Slackware 系列:SUSE
- 国产系列:龙芯、鲲鹏、飞腾
查看Linux系统内核版本
-
打印当前系统相关信息,包括操作系统的发行版号、内核版本号、硬件架构、主机名称和操作系统类型等。
# 方法1 uname -a Linux 192.168.***.*** 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux # 方法2 cat /proc/version Linux version 3.10.0-1160.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) ) #1 SMP Mon Oct 19 16:18:59 UTC 2020 -
显示当前系统的版本信息,如当前系统的名称、版本、ID、ID_LIKE、PRETTY_NAME、ANSI_COLOR等。
cat /etc/os-release NAME="CentOS Linux" VERSION="7 (Core)" ID="centos" ID_LIKE="rhel fedora" VERSION_ID="7" PRETTY_NAME="CentOS Linux 7 (Core)" ANSI_COLOR="0;31" CPE_NAME="cpe:/o:centos:centos:7" HOME_URL="https://www.centos.org/" BUG_REPORT_URL="https://bugs.centos.org/" CENTOS_MANTISBT_PROJECT="CentOS-7" CENTOS_MANTISBT_PROJECT_VERSION="7" REDHAT_SUPPORT_PRODUCT="centos" REDHAT_SUPPORT_PRODUCT_VERSION="7"
Linux系统应用领域
- IT服务器(操作系统、虚拟化和云计算)
- 嵌入式和智能设备
- 个人办公桌面
- 学术研究与软件研发