山顶夕景
实践出真知
展开
-
操作系统-错题本
1.计算机工作模式⑴CPU:核心,和其它设备连接需要靠总线,另外很多复杂的计算任务需要将中间结果保存到内存中,CPU包含三个部分运算单元 负责运算数据单元 暂存数据和运算结果控制单元 指挥做什么运算⑵内存:很多复杂的计算任务需要将中间结果保存到内存中。⑶地址总线和数据总线CPU和内存传数据,靠的是总线。主要有两类数据,一个是地址数据,也就是我想拿内存中哪个...原创 2020-02-20 13:54:27 · 3551 阅读 · 4 评论 -
#内存管理#408之OS真题系列
【知识回顾】【真题】--------------------未完待续----------------------原创 2020-08-17 23:31:55 · 2162 阅读 · 1 评论 -
#PV操作#408真题系列
【知识回顾】PV操作生产者-消费者问题【问题】多个生产者进程和多个消费者进程共享一个初值为空、大小为n的缓冲区(临界资源)。只有缓冲区没满,生产者才能放东西进缓冲区,否则等待;只有缓冲区不空,消费者才能从缓冲区取东西,否则等待。【分析】【第一步:关系分析】生产者和消费者对缓冲区互斥访问是互斥关系;只有生产者生产后消费者才能消费,所以生产者和消费者也是同步关系。【第二步:信号量设置】mutex:互斥信号量,控制互斥访问缓冲区,初值=1;full:同步信号量,表示当前缓冲区的原创 2020-08-08 15:51:39 · 3263 阅读 · 2 评论 -
#文件分配#408真题系列
【知识回顾】【题目】一.连续分配【审题】“文件的数据一次性写入磁盘”意味着后面不需要“增删”,联想DS知用顺序表即OS的磁盘的【连续分配】【注意】(2)如果是FCB与对应的文件数据块连续存储,则每次查找某文件时要先遍历前面很多“无用”的块。二.链接分配之显式注意:虽然题目要求给出“内容”,但别漏了簇号==。注意:板子题了,第一步:求磁盘块数;第二步:求FAT表项位数。【解析】file1的簇号106存放在FAT的100号表项中,簇号108存放在F原创 2020-08-07 15:53:53 · 1642 阅读 · 4 评论 -
多级页表及访存次数求解
【知识回顾】(1)一级页表 页号(36位)“一个进程最多可能有2^36页,因此进程的页表最多有2^36个页表项” 各个页表项必须连续存放,需占用连续的2^36 * 8B=2^39B=512GB空间 页内偏移(12位) 能够一次访存就能找到慢表中的表项,如何找到p号页对应的页表项:页表项存放地址=页表地址+(页号×页表项大小)为了实现上面的“随机访问”,各页表项必须连续存放。(2)二级页表多级页表的【优点】各级页表不再需要连续的存储空间来存放;【缺点】地原创 2020-06-27 20:30:45 · 5263 阅读 · 0 评论 -
计算访问磁盘数
【题目】一文件系统如图,方框表示目录,圆圈表示普通文件。根目录常驻内存,目录文件组织成链接文件,不设FCB,普通文件组织成索引文件。目录表指示下一级文件名及其磁盘地址(各占2B,共4B)。下级文件是目录文件时,指示其第一个磁盘块地址,下级文件是普通文件时,指示其FCB第磁盘地址。每个目录的文件磁盘块的最后4B供拉链使用。下级文件在上级目录文件中的次序在图中为从左至右。每个磁盘块有512B,与普通文件的一页等长。普通文件的FCB组织如图所示,每个磁盘地址占2B,前10个地址直接指示该文件前..原创 2020-07-08 17:04:18 · 6686 阅读 · 38 评论 -
2020年二级页表大题
某32位系统采用基于二级页表的请求分页存储管理方式,按字节编址,页目录项和页表项均为4字节,虚拟地址结构如下: 页目录号(10位) 页号(10位) 页内偏移量(12位) 某C程序中数组a[1024][1024]的起始虚拟地址为1080 0000H,数组元素占4字节,该程序运行时,其进程的页目录起始物理地址为 0020 1000H。(1)数组元素a[1][2]的虚拟地址是?对应的页目录号和页号分别是?对应的页目录项的物理地址是?若该目录项中原创 2020-05-10 13:38:10 · 8437 阅读 · 9 评论 -
2013年页表408大题
某计算机主存按字节编址,逻辑地址和物理地址都是32位,页表项大小为4B。1.若使用一级页表的分页存储管理方式,逻辑地址结构为 页号(20位) 页内偏移量(12位) 则页的大小是多少字节?页表最大占用多少字节?【解析】页的大小为2^12B=4KB,页表最大占用页表最大占用2^20 *4B=2^22B=4MB2.若使用二级页表的分页存储管理方式,逻辑地址结构为 页目录号(10位) 页表索引(10位) 页原创 2020-06-26 20:59:24 · 8562 阅读 · 10 评论 -
2011年和2019年磁盘调度大题
【题目】假设计算机系统采用C-SCAN(循环扫描)磁盘调度策略,使用2KB的内存空间记录16384个磁盘块的空闲状态。(1)请说明如何进行磁盘块空闲状态的管理【解析】因为2KB=2^13=16384,所以可以使用位图法表示磁盘的空闲状态。每位表示一个磁盘块的空闲状态。(2)设某单面磁盘旋转速度为6000转/分,每个磁道有100个扇区,相邻磁道间的平均移动时间为1ms。若在某时刻,磁头位于100号磁道,并沿着磁道增大的方向移动,磁道号请求队列为50、90、30、120,对请求队列中的.原创 2020-07-15 19:57:11 · 5992 阅读 · 13 评论 -
文件的逻辑&物理结构
文件的逻辑结构 无结构文件 将数据按顺序组织成记录并积累保存 有结构文件 (记录式文件) 顺序文件 串结构 记录之间的顺序与关键字无关 顺序结构 记录之间的顺序与关键字有关 索引文件 为变长...原创 2020-04-30 21:58:49 · 1735 阅读 · 0 评论 -
连续分配、分页和分段三种存储分配机制的优缺点
连续,设计简单,直接寻址,效率高。缺点:内存利用效率最低,有内部碎片。分页,设计最复杂,容易产生外部碎片,无论数据有多少,都只能按照页面大小分配,造成浪费。分段,程序员在编程和使用上多方面的要求,缺点,无法利用碎片,必须搬移内存,造成性能损失。一、分区存储管理 1、固定分区: 优点:易于实现、开销小 缺点:存在内部碎片(分区内未被利用空间)、分区总数固定,限制了并发执行的...原创 2020-04-09 22:54:40 · 6157 阅读 · 0 评论 -
双标志先检查法
【知识回顾】【典例】假设有2个线程(编号为0和1)需要去访问同一个共享资源,为避免竞争状态的问题,必须实现一种互斥机制,使得在任何时候只能有一个线程访问这个资源,假设有如下一段代码:Bool flag[2];//flag数组,初始化为FALSEEnter_Critical_Section(int my_thread_id,int other_thread_id){ While(flag[other_thread_id]==TRUE);//空循环语句 Flag[my_thr.原创 2020-08-01 18:15:48 · 2207 阅读 · 0 评论 -
操作系统科普
作者:灵剑链接:https://www.zhihu.com/question/306127044/answer/555327651太长不看的提前总结:内核态,或者说CPU的特权模式,是CPU的一种工作状态,它影响CPU对不同指令的执行结果。操作系统通过跟CPU配合,设置特权模式和用户模式,来防止应用程序进行越权的操作 防止应用程序越权访问内存时使用了虚拟地址空间映射的技术,这是操作系统软件配合硬件的MMU共同实现的。在用户模式下,应用程序访问的内存地址是虚拟内存地址,会映射到操作系统指定的物理地转载 2020-08-20 09:30:52 · 841 阅读 · 0 评论 -
计蒜客(二)进程
1.进程,地址空间与线程 一个进程可以使用的全部内存的地址和它们存储的数据成为这个进程的 地址空间。我们可以将级才能拿笼统地看成是一个或多个线程与一个地址空间的结合。 进程在系统中的实现方式需要达到两个目的:(1)进程的结果必须囊括一个进程的运行状态,在由于中断、异常或系统调度进入内核态时我们应该能够将进程的运行状态放入内存中的某一位置,使我们可以在某一个时间点根据进程的优...原创 2020-01-31 13:28:32 · 764 阅读 · 0 评论 -
计蒜客(一)C语言复习
1.malloc与动态内存分配#include <stdio.h>#include <stdlib.h>/* YOUR CODE HERE */char* find_my_mood() { char* my_mood; /* YOUR CODE HERE */ my_mood=malloc(6*sizeof(char)); my...原创 2020-01-31 13:25:33 · 826 阅读 · 0 评论 -
计蒜客(零)引言
1.why学OS 只有1%的软件开发者会编写OS,OS是一切软件的基础——为用户软件程序提供了访问硬件资源的标准界面,保护用户程序不受其他用户程序侵害,并统筹管理所有硬件资源;这种统筹规划所有资源、将复杂的界面抽象成为简单的界面的思想,在计算机科学的其他领域也有很多应用。如写一个网站的服务器的时候,你会在后端储存和处理大量的复杂数据结构,但在前端设计用户界面的工程师既不需要,也不应该意...原创 2020-01-31 13:20:09 · 598 阅读 · 0 评论 -
两级页表
由于引入了分页管理,进程在执行时不需要将所有的页调入内存页框,而只需将保存有映射关系的页表调入内存。但是,我们仍然需要考虑页表的大小。以32位逻辑地址空间、页面大小4KB、页表项大小4B为例,若要实现进程对所有逻辑地址空间的映射,则每个进程需要2^20个页表项。也就是说,每个进程仅页表这一项就需要4MB驻村空间,这显然是不切实际的。即便不考虑对全部逻辑地址空间进行映射的情况,一个逻辑地址...原创 2019-08-25 23:57:31 · 1199 阅读 · 0 评论 -
操作系统总结
一:内存的基本知识1:内存的分层体系CPU微处理器(CPU寄存器+L1、L2高速缓存):速度快,容量小主存、物理内存:速度稍快,容量大。主要用于放置操作系统和代码。磁盘(虚拟内存):速度慢,容量最大用于扩充空间和备份数据2:操作系统与内存(1)操作系统的作用:抽象:把物理地址抽象为逻辑地址保护:每个进制都有独立的地址空间共享:进程间通过访问相同的内存,传递数据虚拟化:扩充地址空...转载 2019-08-25 18:52:23 · 593 阅读 · 0 评论