note2
线程可以理解为轻量级的进程,是程序执行的最小单元
-
线程由线程ID、当前指令指针(PC)、寄存器和堆栈组成
-
每一个程序都至少有一个线程,如果只有一个线程的话,那它就是程序本身
-
线程由就绪、阻塞和运行三种装填
-
具有以下特性:
- 轻型实体
- 线程中的实体基本上不拥有系统资源,只分配必不可少的、保证独立运行的资源
- 独立调度和分配的基本单元
- 在多线程OS中,线程是能独立运行的基本单位,因而也是独立调度和分派的基本单位由于线程很“轻”,故线程的切换非常迅速且开销小(在同一进程中的)。
- 可并发执行
- 在一个进程中的多个线程之间,可以并发执行,甚至允许在一个进程中所有线程都能并发执行;同样,不同进程中的线程也能并发执行,充分利用和发挥了处理机与外围设备并行工作的能力。
- 共享进程资源
- 同一进程中的各个线程,都可以共享该进程所拥有的资源,这首先表现在:所有线程都具有相同的地址空间(进程的地址空间),这意味着,线程可以访问该地址空间的每一个虚地址;此外,还可以访问进程所拥有的已打开文件、定时器、信号量机构等。由于同一个进程内的线程共享内存和文件,所以线程之间互相通信不必调用内核。
- 轻型实体
-
查看进程的线程
top -H ps -xH ps -mq PID
任务计划
at命令的格式在上篇已经提到过了
crond命令计划任务管理
-
日志位置存放于/var/log/cron*
-
编辑计划任务
- crontab -e [-u 用户名]
-
查看已经添加的任务
- crontab -l [-u 用户名]
-
删除已经添加的任务
- crontab -r [-u 用户名]
-
crontab命令编辑之后的配置都保存在/var/spool/cron/
-
crontab时间配置的一些符号:
- * 表示一切时间(单位)
- , 表示不连续的时间点 ( 1,3 表示第1个时间(单位)和第3个时间(单位))
- - 表示间隔的多个不连续的时间点( 1-3 表示从第1个时间(单位)到第3个时间(单位))
- / 表示间隔的时间频段( /3 表示每隔三个时间(单位))
磁盘及文件系统管理
首先现在虚拟机里加了四块硬盘
fdisk -l [磁盘名称] # 查看磁盘设备信息
fdisk [磁盘名称] # 磁盘编辑进入
比如说我们在这里进入sdd硬盘
fdisk /dev/sdd
# 如上图所示
# 下图所示的是实训老师展示的为sdb硬盘增添一个4GB分区的截图(我这边截图丢了)
接下来记得按下w进行保存,然后会自动退出磁盘操作界面
然后是一些常见字母参数的说明:
p:列表查看分区信息
n:新建分区
d:删除分区
关于在这里进入磁盘操作的界面,里边有一套独立的操作命令,在Command(m for help)的字样出现的时候可以按下m进行查看
创建挂载文件系统
-
mkfs命令(Make FileSystem),创建文件系统(格式化)
-
mkswap命令(Make Swap),创建交换文件(格式化)
- swapon (分区名,比如/dev/sdd2) # 开启交换分区
- swapoff (分区名,比如/dev/sdd2) # 关闭交换分区
-
只有通过挂载才能让文件系统得以影响对应的磁盘分区
-
挂载命令mount和卸载命令umount
-
mount [-t] (挂载点目录) (挂载点目录)
-
mount -o loop (ISO镜像文件) (挂载点目录)
-
举例:
mkdir /sdd2 mount -o /dev/sdd2 /sdd2
- 卸载命令umount同比之下就简单了很多
-
umount (存储设备位置)
-
umount (挂载点目录) #更推荐使用,因为同一设备可能会被挂载到多个目录
-
举例:
umount /sdd2
-
-
- 需要注意的是使用mount方式进行的挂载是一种临时挂载(如果关机重启挂在关系就会消失)
- 如果想要永久挂载的话,就在/etc/fstab文件下根据对应的要求进行编辑
- 需要设置设备位置(比如/dev/sdb1)、挂载点、文件系统类型、挂载参数、参数(1表示需要dump备份,其他表示不需要)、系统检查时的磁盘检查的顺序
LVM机制
- PV 物理卷
- VG 卷组
- LV 逻辑卷
/dev/sdb1)、挂载点、文件系统类型、挂载参数、参数(1表示需要dump备份,其他表示不需要)、系统检查时的磁盘检查的顺序
LVM机制
- PV 物理卷
- VG 卷组
- LV 逻辑卷