操作系统
文章平均质量分 79
sunflower_zzn
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
霍尔管程&习题理解
管程设计目的将分散在各进程中的临界区集中起来管理避免进程有意无意的违法同步操作便于用高级语言来书写程序定义管程是由局部于自己的若干公共变量及其说明和所有访问这些公共变量的过程所组成的软件模块形式结构条件变量条件变量是出现在管程内的一种数据结构,只能在管程中被访问,对管程内的所有过程是全局的,只能通过两个原语操作来控制它。wait©:阻塞调用进程并释放管程,直到另一个进程在条件变量c上执行signalsignal©: 如果存在其他进程由于对条件变量c执行wait()而被阻塞原创 2021-01-10 20:29:47 · 2644 阅读 · 0 评论 -
PV操作习题
记录PV操作学习过程中的一些习题相关代码1、读者/写者问题两组并发进程:读者/写者,共享一个文件F:多个读者可以同读【允许同读】只允许一个写者写文件【同写互斥】写者写时不能被读者读【读写互斥】写者写之前应该让已有读者写者都退出读者优先用wmutex来限制写者,使读者优先semaphore rmutex=1,wmutex=1;int readcount=1;cobegin process Reader_i(){ while(true){ P(.原创 2021-01-10 17:25:27 · 1377 阅读 · 1 评论 -
段寄存器与段式存储管理
段式存储管理计算机需要对内存进行分段,以分配给不同的程序使用段式存储与页式存储不同,段的大小不定,段内地址连续,段间地址不连续段表结构 : 段长度 + 段基址 + (用index隐式表示的段号)段的逻辑地址 = 段号 + 段内地址(偏移量)段的物理地址 = 段起地址 + 偏移量通过段表获取段起地址,并且检查偏移量是否越界参考:段式、页式、段页式存储管理辨析段寄存器以下段寄存器均为8086CPU中的情况:四个段寄存器(16位):CS:代码段寄存器DS:数据段寄存器SS原创 2020-12-25 11:50:47 · 778 阅读 · 0 评论 -
GDT与LDT
GDT与LDTLDT属于进程,GDT属于系统,所有进程共享一个GDTGDT/LDT都是保护模式!参考:GDT、GDTR、LDT、LDTR的理解两张图看懂GDT、GDTR、LDT、LDTR的关系GDT与LDT入口地址GDT的入口地址存放在GDTR中,使用 LGDT xxxxxxxx:yyyy 将GDT的入口地址装入GDTR 48位LDT的入口地址存放在GDT的表项中,LDTR 16位存放LDT描述符在GDT中的索引,通过 lldt xxxx 存入LDTR段选择子GDT/LDT表项的原创 2020-12-25 11:54:34 · 922 阅读 · 0 评论 -
实模式与保护模式
实模式与保护模式8086有20根地址总线,共1MB的寻址空间,但是寄存器只有16位,所以其页式第一个支持内存分段模型的处理器。当时的8086处理器还只支持实模式,后来的32位处理器在8086的基础上支持了保护模式,可以使用32根地址线,4GB内存实模式与保护模式都是CPU的工作模式参考:实模式与保护模式实模式8086的20根地址线导致设计者决定使用分段内存,段号 + 偏移量寻址。这里的段号为16位段寄存器左移4位,即:物理地址(physicaladdress)=段值(segment) * 1原创 2020-12-25 11:52:19 · 205 阅读 · 0 评论
分享