Linux 基础 | 青训营笔记

106 阅读6分钟

一、计算机硬件

五大基本单元:控制器、运算器、存储器单元、输入单元、输出单元

 

二、计算机操作系统

操作系统,管理和控制计算机系统中的硬件和软件资源,用于在用户与系统硬件之间传递消息。启动过程简单分为四部分,从BIOS自检、系统引导、启动内核、初始化系统。

 

三、Linux 系统概览

①Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹(Linus Benedict Torvalds)于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它支持32位和64位硬件,能运行主要的Unix工具软件、应用程序和网络协议。

 

②应用领域

IT服务器(操作系统、虚拟化和云计算)

嵌入式和智能设备

个人办公桌面

学术研究与软件开发

 

四、Linux 系统结构

①基本组成:内核、shell 、文件系统应用程序

内核是硬件与软件之间的中间层,一个资源管理程序,提供一组面向系统的命令。

 

②进程管理

·进程概念

进程是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。

 

·进程调度

是指操作系统按某种策略或规则选择进程占用CPU进行运行的过程。

 

·进程调度原则

每一个CPU同一时间只能调度一个进程

每一个进程有近乎相等的执行时间

对于逻辑CPU而言进程调度使用轮询的方式执行,当轮询完成则回到第一个进程反复

进程数量消耗时间和进程量成正比

 

·进程的系统调用

内核空间:系统内核运行的空间

用户空间:应用程序运行的空间

 

③文件系统

·文件系统负责管理持久化数据的子系统,负责把用户的文件存到磁盘硬件中

Linux文件系统是采用树状的目录结构,最上层是/(根)目录

 

虚拟文件系统

·一种用于网络环境的分布式文件系统,是允许和操作系统使用不同的文件系统实现的接口。虚拟文件系统是物理文件系统与服务之间的一个接口层,它对Linux的每个文件系统的所有细节进行抽象,使得不同的文件系统在Linux核心以及系统中运行的其他进程看来,都是相同的。

 

④用户权限

Linux操作系统是多用户操作系统,帐户实质上就是一个用户在系统上的标识,广义上讲,Linux的帐户包括用户帐户和组帐户两种。用户帐户分为普通用户帐户和超级用户帐户两种。管理员帐户对系统具有绝对控制权;组帐户分为私有组和标准组,当创建一个新用户时,若没有指定他所属于的组,Linux就建立一个和该用户同名的私有组,此私有组中只包含该用户自己,标准组可以容纳多个用户。若使用标准组,在创建一个新用户时就应该指定他所属于的组。同一个用户可以同属于多个组,其登录后所属的组称为主组,其它的组称为附加组。

 

五、Linux 系统软件包管理器

①软件包

·软件包

通常指的是一个应用程序,它可以是一个GUI应用程序、命令行工具或(其他软件程序需要的)软件库

 

·软件包管理

底层工具:主要用来处理安装和删除软件包文件等任务,DPKG,RPM

上层工具:主要用于数据的搜索任务和依赖解析任务,APT,YUM,DNF

 

②软件包管理工具

RPM,为Red hat操作系统的包管理系统

DPKG,为Debian操作系统的包管理系统

 

补充:Linux是一种常见的嵌入式操作系统,特点主要有:

①免费开源。Linux是一款完全免费的操作系统,任何人都可以从网络上下载到它的源代码,并可以根据自己的需求进行定制化的开发,而且没有版权限制。

 

②模块化程度高。Linux的内核设计分成进程管理、内存管理、进程间通信、虚拟文件系统、网络5部分,其采用的模块机制使得用户可以根据实际需要,在内核中插入或移走模块,这使得内核可以被高度的剪裁定制,以方便在不同的场景下使用。

 

③Linux系统广泛的硬件支持。得益于其免费开源的特点,有大批程序员不断地向Linux社区提供代码,使得Linux有着异常丰富的设备驱动资源,对主流硬件的支持极好,而且几乎能运行在所有流行的处理器上。

 

④安全稳定。Linux采取了很多安全技术措施,包括读写权限控制、带保护的子系统、审计跟踪、核心授权等,这为网络环境中的用户提供了安全保障。实际上有很多运行Linux的服务器可以持续运行长达数年而无须重启,依然可以性能良好地提供服务,其安全稳定性已经在各个领域得到了广泛的证实。

 

⑤多用户,多任务。多用户是指系统资源可以同时被不同的用户使用,每个用户对自己的资源有特定的权限,互不影响。多任务是现代化计算机的主要特点,指的是计算机能同时运行多个程序,且程序之间彼此独立,Linux内核负责调度每个进程,使之平等地访问处理器。由于CPU处理速度极快,从用户的角度来看所有的进程好像在并行运行。

 

⑥良好的可移植性。Linux中95%以上的代码都是用C语言编写的,由于C语言是一种机器无关的高级语言,是可移植的,因此Linux系统也是可移植的。