2023.8.7-8.11周总结(5)

WORK

2023.8.7 周一

1.出差前针对二次电源进行培训

2023.8.8 周二

1.出差

2.三江二次电源测试

2023.8.9 周三

1.测试二次电源

2.晚开会统一二次电源进度

2023.8.10  周四

1.测试二次电源

2023.8.11  周五

1.测试二次电源

《BOOK》

第四章 计算机的大管家:操作系统

4.1 一个控制系统的进化

初始:人手动切换程序;进化:机器控制程序,自动实现切换

4.1.1多道程序处理(类似于超线程)

4.1.2时间分片

死循环问题的解决:引入中断

控制程序及时获得控制权:引入时钟中断

时间片轮转:基础——时钟中断

4.1.3状态

给程序赋予状态:创建、就绪、执行、阻塞、中止等。

4.1.4优先级

给程序赋予优先级

4.1.5多核时代

核数增多,控制复杂,控制程序优化升级——操作系统。

4.2程序运行的实体:进程

4.2.1进程地址空间(虚拟地址)

4.2.2进程调度

把占有CPU的进程赶出CPU,靠的是中断,一旦有中断信号出现,操作系统就抢到执行的机会了。

4.2.3进程与线程

以前一个进程里只有一个执行流,为提高并发量,需创建多进程,但进程间通信等较为麻烦,因此,一个进程中多个执行流思路出现,线程就出现了。更重要的是,这些线程用的是一个地址空间,线程间通信要更方便。

现在,操作系统调度执行的单位由原来的进程变成了线程。

4.3CPU的执行流:线程

线程的本质就是一个个执行流,指定了CPU从进程空间的哪个位置开始执行指令。

4.4内核地址空间历险记:系统调用

4.4.1神秘的长者

程序的进程地址空间分为两部分,一部分是用户地址空间,是应用程序能访问的内存区域,另一部分是内核地址空间,是操作系统所在的内存区域。

4.4.2系统调用

操作系统把管理文件、内存、线程、硬件设备等资源的操作封装成函数,并提供函数接口,供应用程序使用,这些函数就是系统调用。系统调用函数都位于内核地址空间,为安全性考虑需要单独设计通道,连接用户态地址空间与内核态地址空间。

4.4.3内核堆栈

一个应用线程有两个栈,一个在用户态地址空间,一个在内核态地址空间。

4.5当除数为0时,CPU发生了什么

4.5.1中断和异常

中断描述符表——IDT,IDT把所有中断和异常发生后要去处理的地方记录成了一个表。

4.5.2信号投递

给进程发送相应信号

4.5.3异常返回

处理投递的信号,返回用户态

4.6发给进程的信号,到底去哪了

4.6.1可靠信号与不可靠信号

4.6.2信号的处理

进程从内核态返回用户态时,检查有没有信号需要处理。为安全保证,信号的自定义处理函数只能在用户态模式下运行。

4.6.3多线程的信号处理

信号的投递做区分:是投递给线程还是进程

4.7困住线程的锁,到底是什么

4.7.1原子操作

4.7.2自旋锁

适合快速处理的场合

4.7.3互斥锁

把自旋锁里阻塞自旋的等待方式调整为睡眠等待

4.7.4条件变量

4.7.5信号量

有几个就能占几个

4.8 linux的权限管理

4.8.1打开文件的过程

经过的准备工作多

4.8.2权限检查

UGO(user,group,other),linux为所有文件针对所属的用户、所属的用户组和其他用户分别设置了访问权限,读,写,可执行三种权限的组合,总共用9个比特位来表示。

4.8.3UGO与ACL检查

ACL(访问控制列表)

4.8.4Cgroup与SELinux的检查

4.9计算机中“楚门的世界”

Docker——轻量级的虚拟容器

虚拟机——占用空间大

4.9.1隐藏文件系统:chroot与pivot_root

限制容器中进程的活动区域——能访问的文件系统目录。

4.9.2进程的隔离:命名空间

命名空间中的进程无法看到空间之外的进程、用户、网络等信息。

4.9.3行为的限制:Cgroup

划定分组,限制每个分组能够使用的资源,如内存的上限值、CPU的使用率、硬盘空间总量等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值