Linux基础 | 青训营笔记

42 阅读4分钟

计算机硬件:

计算机由五大基本单元组成:

控制器

运算器

存储器单元:分为内存和外存。外存比如磁盘和光驱

输入单元:鼠标、键盘

输出单元:显示器、音箱

操作系统:

提供两大类功能:管理计算机资源和提供用户接口 管理计算机资源又包括:处理器管理、存储器管理、设备管理和文件管理。 提供用户接口又包括:命令接口、图形用户接口和程序接口。

程序启动必须由操作系统来执行,那操作系统本身也为一个程序,那是如何在开机时被执行的呢? 基于BIOS或UEFI(可以把基于UEFI理解为基于BIOS的优化版本)

Linux内核 + 常用软件 = Linux发行版本

Linux基本组成: Linux系统一般有4个主要部分: • 内核:提供操作系统的一些低层能力 • shell • 文件系统 • 应用程序

进程管理:

• 进程是正在执行的一个程序或命令
• 进程有自己的地址空间,占用一定的系统资源
• 一个CPU核同一时间只能运行一个进程
• 进程由它的ID(PID )和它的父进程的ID(PPID)唯一识别

查看进程信息:

对于第二个命令,查看93824进程的信息。返回的PR(priority)的意思是优先级,NI(nice)的意思是,S(state)的意思是进程状态,包括R、S、D、T、Z、X。图中为S,表示处于休眠状态。

PR和NI的区别:

什么是NICE值:

NICE值是反应一个进程“优先级”状态的值,其取值范围是-20至19,一共40个级别。 这个值越小,表示进程”优先级”越高,而值越大“优先级”越低。

比如,你跟一个nice的人一起去吃午饭,点了两个一样的饭,先上了一份后,nice的那位一般都会说:“你先吃你先吃!”,这就是人缘好,这人nice!但是如果另一份上的很晚,那么这位nice的人就要饿着了。 这说明什么?

越nice的人抢占资源的能力就越差,而越不nice的人抢占能力就越强。这就是nice值大小的含义,nice值越低,说明进程越不nice,抢占cpu的能力就越强,优先级就越高。

我们还会把nice值叫做静态优先级,这也基本符合nice值的特点,就是当nice值设定好了之后,除非我们用renice去改它,否则它是不变的。 而priority的值在之前内核的O1调度器上表现是会变化的,所以也叫做动态优先级。 正常情况下,任何一个进程的NICE值都为0。

进程状态R、S、D、T、Z、X:

R (TASK_RUNNING),可执行状态

S (TASK_INTERRUPTIBLE),可中断的睡眠状态

D (TASK_UNINTERRUPTIBLE),不可中断的睡眠状态

T (TASK_STOPPED or TASK_TRACED),暂停状态或跟踪状态

Z (TASK_DEAD - EXIT_ZOMBIE),退出状态,进程成为僵尸进程

X (TASK_DEAD - EXIT_DEAD),退出状态,进程即将被销毁

进程调度:

image.png

文件系统:

文件系统是操作系统中负责管理持久数据的子系统,负责把用户的文件存到磁盘硬件中,持久化地保存文件。

Linux中一切皆文件。 Linux将所有的设备、文件、进程等都当做文件来处理,统一了对它们的操作方法,使得Linux具有了很高的灵活性和可扩展性。

虚拟文件系统VFS:

虚拟文件系统(Virtual File System,简称VFS)是Linux内核的子系统之一,它为用户程序提供文件和文件系统操作的统一接口,屏蔽不同文件系统的差异和操作细节。借助VFS可以直接使用open()、read()、write()这样的系统调用操作文件,而无须考虑具体的文件系统和实际的存储介质。 举个例子,Linux用户程序可以通过read() 来读取ext3、NFS、XFS等文件系统的文件,也可以读取存储在SSD、HDD等不同存储介质的文件,无须考虑不同文件系统或者不同存储介质的差异。

用户权限:

用户账户:
    • 普通用户账户:在系统中进行普通作业
    • 超级用户账户(root):在系统中对普通用户和整个系统进行管理

组账户(group):
    • 标准组:可以容纳多个用户
    • 私有组:只有用户自己

文件权限:

文件权限关于用户有三个概念:

• 所有者:文件的所有者
• 所在组:文件的所有者所在的组
• 其他人:除文件所有者及所在组外的其他人

每个用户对于文件都有不同权限,包括读(R)、写(W)、执行(X)

第一个字母表示文件类型(d表示文件夹) 之后每三个字母为一组,rwx说明所有者有读、写和执行权限。r-x说明所在组有读和执行权限,r-x说明其他人有读和执行权限。

用户权限操作:

image.png