
操作系统
人总是要有梦想的QAQ
这个作者很懒,什么都没留下…
展开
-
Buddy
①空闲页面分为10个块组,块组编号为0,1,2,……,8,9;②内存空间及其划分(界面如下图):●内存物理空间大小可选择:256M bytes,512M bytes;●每个页框的大小可选择:1K bytes,2K bytes,4K bytes;●对选择的内存空间及其划分,当所有内存为空闲时,显示其各块组空闲区链表的内容;●随机指定多个不连续占用的内存空间(每块占用空间包括2i个连续的页框),显示各块组空闲区链表的内容;●基于内存当前情况,随机产生申请的页框数m,显示满足m个页框的申请后,块组空闲原创 2020-09-16 16:10:55 · 143 阅读 · 0 评论 -
操作系统 知识点整理
CPU 访问内存整理首先 CPU 在访问内存的时候都需要通过 MMU 把虚拟地址转化为物理地址,然后通过总线访问内存。MMU 开启后 CPU 看到的所有地址都是虚拟地址,CPU 把这个虚拟地址发给 MMU 后,MMU 会通过页表在页表里查出这个虚拟地址对应的物理地址是什么,从而去访问外面的 DDR(内存条)参考:https://zhuanlan.zhihu.com/p/36139950伙伴堆算法伙伴堆算法的用途每当分配和释放内存的时候系统都将遇到尾部碎片的问题,比如当请求一个页面的时候,即.原创 2020-09-16 15:41:49 · 118 阅读 · 0 评论 -
电梯算法: 无访问请求 磁头停止不动 有访问请求时 按照电梯移动规律运动 起始:由最外磁道向内磁道移动 内磁道没有访问请求 改变移动方向(外磁道有请求) 或 停止移动(无请求)
电梯算法:无访问请求 磁头停止不动有访问请求时 按照电梯移动规律运动起始:由最外磁道向内磁道移动内磁道没有访问请求 改变移动方向(外磁道有请求) 或 停止移动(无请求)原创 2020-05-29 16:35:47 · 497 阅读 · 0 评论 -
管程
//3种等待队列//wait© 执行此操作的进程进入c链尾//如紧急队列非空,唤醒第一个等待者,否则唤醒入口等待队列中的一个进程,并释放管程互斥权//signal© c链为空 空操作//唤醒第一个,有3种方式:Hoare管程、Hansen管程、Java管程//Hoare管程 进入紧急队列//Hansen管程 直接离开管程//Java管程 继续执行//进入管程 申请互斥权//离开管程 紧急等待队列非空 唤醒第一个等待者 否则开放管程...原创 2020-05-29 15:59:10 · 592 阅读 · 0 评论 -
并发进程
顺序程序进程互斥Peterson互斥算法Dekkel互斥算法Lamport面包店算法Eisenberg-Mcguire算法临界区指的是一个访问共用资源(例如:共用设备或是共用存储器)的程序片段,而这些共用资源又无法同时被多个线程访问的特性。当有线程进入临界区段时,其他线程或是进程必须等待(例如:bounded waiting 等待法),有一些同步的机制必须在临界区段的进入点与离开点实现,以确保这些共用资源是被互斥获得使用,例如:semaphore。只能被单一线程访问的设备,例如:打印机。算法正原创 2020-05-24 15:17:18 · 303 阅读 · 0 评论 -
进程切换与中断
进程切换指从正在运行的进程中收回处理器,让待运行进程来占有处理器运行。实质上就是被中断运行进程与待运行进程的上下文切换。进程切换必须在操作系统内核模式下完成,这就需要模式切换。模式切换又称处理器切换,即用户模式和内核模式的互相切换。进程切换一定发生在中断/异常/系统调用处理过程中,常见的有以下情况:1、阻塞式系统调用、虚拟地址异常。导致被中断进程进入等待态。2、时间片中断、I/O中断...原创 2020-03-21 10:15:28 · 8208 阅读 · 0 评论 -
调度整理
其中比较重要的是用户自己处理中断的实现,有些中断,如除零、溢出,只和运行程序有关,不影响系统也不影响其它用户,如果用户希望可以由其自行处理,当然中断发生的时候也会进入操作系统,操作系统了解到用户想自己处理这个中断,便会转到用户规定的处理程序,注意该处理程序是在目态执行的,执行完要回到中断发生的位置,该位置在系统栈中,需要先将其转移到目态栈,目态中断处理程序执行完后由目态栈返回中断断点中断发生后,...原创 2020-03-21 09:53:06 · 397 阅读 · 0 评论 -
操作系统是中断驱动的
目态程序运行的时候,发生中断,中断装置响应中断,进入操作系统,操作系统进行中断处理,处理过程中如果发生优先级更高的中断,就会发生中断嵌套,中断乃至嵌套中断的现场保存在什么地方?系统栈,大家一定记住;中断处理过程中,如果因为等待或者被剥夺处理机,现行进程会进入等待或就绪状态,处理机会分给另外一个就绪进程,此处会发生进程切换,那么,进程切换时的现场保存在什么地方呢?PCB,再次请大家记住,中断的现场保...原创 2020-03-16 11:25:42 · 2496 阅读 · 0 评论 -
(12)操作系统--Linux与windows调度
Linux:基于goodnessgoodness计算:实时:需要满足一定的时间条件Windows页面清0的作用:清楚空闲的物理页面,防止原来的信息被泄露但是分给子进程空间的时候不用清0,因为要继续复制父进程的空间存储电路对页面所有单元都清0?...原创 2020-03-12 13:12:40 · 397 阅读 · 0 评论 -
(11)操作系统--作业
一个作业包含若干个进程一个进程包含若干个线程批作业包含:程序数据说明书理解:第一句:是作业的报道语句,包含了JOB名字,user名字,账户名第二:资源需求语句:内存50k,CPU10min,输出量100行作业簿:汇编连接执行数据作业控制程序(系统只有一个)...原创 2020-03-12 12:26:18 · 207 阅读 · 0 评论 -
(10)操作系统--调度算法
先到先服务算法:按到达的次序周转时间:完成时间-到达时间带权周转时间:周转时间/运行时间优点:公平缺点:短作业用户不满意短作业优先最短剩余时间优先:最高响应优先:理解:BT:振发时间即运行时间WT 过长(等待时间长)或者BT时间过短(短作业任务)都会导致RR大,从而综合了两个方面最高优先数:Unix:preemptive+dynamic priority...原创 2020-03-12 10:59:15 · 314 阅读 · 0 评论 -
(8)操作系统--中断一
中断与中断系统操作系统是中断驱动的!Interrupt driven处理机在运行过程中,出现了某一事件,必须暂停正在运行的程序,转去处理这个事件,然后再返回原来运行的程序,这一过程称为中断。中断系统:中断装置(硬件)中断处理程序(软件)发现并响应中断的硬件机构识别中断源,当有多个中断源时,按紧迫程度排队;保存现场;引出中断处理程序。中断源中断寄存器中断字:中断寄存器的内容...原创 2020-03-11 21:06:02 · 370 阅读 · 0 评论 -
(9)操作系统--处理器调度
处理机调度时机运行进程终止运行进程等待处理机剥夺实际到为什么恢复上升进程的现场要先恢复寄存器内容,再恢复PSW,PC调度算法考虑因素:CPU利用率max吞吐量:单位时间处理的任务max周转时间:从就绪到完成的时间min响应时间:从就绪到开始处理的时间min系统开销:花费的时间和空间minCPU burst(阵发期)进(线)程使用CPU计算IO burst进(线)程使...原创 2020-03-11 22:30:55 · 267 阅读 · 0 评论 -
(7)操作系统--第一章第二章总结
系统状态,为构造高效可靠的操作系统,硬件必须区分核心态和用户态,操作系统在核心态运行,可以执行特权指令;用户程序在目态运行,不可执行特权指令。系统运行时用户态和系统态和用户态是经常切换的,由用户态切换到系统态通过中断或访管,系统态切换到用户态通过置程序状态字。堆是保存动态变量的,目态的栈用于保存函数调用的返回点、参数、局部变量、返回值。因为函数调用是可以嵌套的,嵌套调用的次序和返回的次序恰好相反...原创 2020-03-11 12:43:59 · 388 阅读 · 0 评论 -
(6)操作系统--第一章思考题
用户栈的用途是什么?系统栈的用途是什么?系统栈(也叫核心栈、内核栈)是内存中属于操作系统 空间的一块区域,其主要用途为:(1)保存中断现场,对于嵌套中断,被中断程序的现场信息依次压入系统栈,中断返回时逆序弹出;(2)保存操作系统子程序间相互调用的参数、返回值、返回点以及子程序(函数)的局部变量。用户栈是用户进程空间中的一块区域,用于保存用户进程的子程序间相互调用的参数、返回值、返回点以...原创 2020-02-27 21:10:16 · 409 阅读 · 0 评论 -
(5)操作系统--线程及其控制块
引入进程之间切换开销大,笨重:进程切换需要PCB+程序,地址空间,系统栈,页表,块表相关进程之间耦合性差同一个进程包含多个线程多个线程除了栈,寄存器外共享数据代码堆通信方便概念进程中一个独立的执行流进程是资源分配单位线程是执行单位多线程优点切换速度快(地址空间不变)系统开销小通信快结构控制块TCB(Thread control block)内容:线程标识线...原创 2020-02-27 20:32:15 · 3769 阅读 · 0 评论 -
(4)操作系统--进程撤销与创建
进程的创建建立PCB分配存储空间加载程序入就绪链在Unix系统中:pid = fork()创建一个子进程(父进程的复制品)execl(prog, args)加载并执行一个新的程序进程的撤销去配资源撤销PCB通知父进程在Unix系统中:exit() vs.kill进入操作系统判断结束除初始进程外,其他进程都由父进程创建,并形成了进程家族Unixpid = fork(...原创 2020-02-27 19:36:27 · 2661 阅读 · 0 评论 -
(3)操作系统--进程的类型
系统进程运行操作系统程序,完成系统管理服务功能,大部分程序都是被调用的时候才执行,但是有一部分程序是无条件的执行,即一开机就执行e.g.Unix 系统中刚开机会进行系统的初始化,执行进程0–sched程序,它的作用是将外存中就绪的程序调到内存中,当内存中无空间的时候将等待的进程调入外存留下空间用户进程为用户服务进程的特性并发性动态性:动态产生,消亡,生存期内状态动态变化独立性交...原创 2020-02-27 17:36:32 · 330 阅读 · 0 评论 -
(2)操作系统-进程、线程与作业
多道程序设计多道程序设计的提出:处理机、内存、设备利用率低程序道数过少:系统资源利用率低程序道数过多:系统开销大,程序响应速度下降系统开销:运行操作系统程序做管理锁花费的时间和空间好处:提高系统效率(吞吐量)吞吐量 = 计算任务数/处理时间自然的表达问题内在的并行性e.g.一个Word进程,三个线程1:交互编辑2:拼写检查3:定时存入内存多道程序设计的问题处理机资源...原创 2020-02-23 10:30:36 · 232 阅读 · 1 评论 -
(1)操作系统概念
系统库(lib)可直接调用操作系统应用程序可以调用lib和操作系统支配硬件管理系统中软硬件资源:CPU 内存 设备 文件为用户提供良好的服务API, GUI, 行式命令操作系统历史手工操作阶段批处理阶段执行系统阶段(通道[I/O处理机])操作系统的完善多道批处理进程的互斥(进程推进速度不一样,产生了多种交叉)、同步、死锁(等待其他进程导致无法得到资源)、饥饿(等待时间...原创 2020-02-20 23:39:23 · 166 阅读 · 0 评论