操作系统
JunyouPeng
这个作者很懒,什么都没留下…
展开
-
操作系统(内存)
L20 内存使用与分段前面讲的是操作系统如何管理cpu现在要讲操作系统如何管理内存首先要看内存是如何使用的?如何让内存用起来?计算机如何工作?从内存中取出程序,到cpu里执行内存的使用就是将程序放到内存中,让程序执行起来首先让程序进入内存用磁盘读取,关键问题是,读取到内存的什么地方?由于程序中有汇编指令(call 40),意味着跳转到40这个地址开始执行(40这个地址是main函数的第一条指令),为了让这个程序可以运行(为了让call 40)这行命令有用,main的第一条指令必须放在物原创 2020-11-20 20:55:43 · 235 阅读 · 0 评论 -
操作系统面试题(进程部分总结)
进程调度算法有哪些?先来先服务非抢占式的调度算法,按照请求的顺序进行调度。平均周转时间偏大短作业优先非抢占式的调度算法,按估计运行时间最短的顺序进行调度。短作业优先保证了平均周转时间最短然而导致了响应时间过长长作业有可能会饿死,处于一直等待短作业执行完毕的状态。因为如果一直有短作业到来,那么长作业永远得不到调度。最短剩余时间优先最短作业优先的抢占式版本,按剩余运行时间的顺序进行调度。 当一个新的作业到达时,其整个运行时间与当前进程的剩余时间作比较。如果新的进程需要的时间更少,则挂起当前进原创 2020-11-13 22:32:16 · 211 阅读 · 0 评论 -
操作系统面试题 (其他部分)
中断与系统调用操作系统接口是什么?用户通过程序(应用软件)使用计算机程序是普通代码加上一些重要的函数(如printf函数)操作系统提供重要函数(重要函数就是操作系统接口,接口表现为函数调用,由系统提供,因此叫系统调用)常见的系统调用有:fork()open()为什么要区分用户态与内核态?因为内核中有很多重要的信息与内容,若能随意调用和jmp那就很危险。比如root密码被修改,word内容通过显存被看到如何划分用户态与内核态?硬件把内存割成了两个区域,一个叫用户态,一个叫内核态。内核原创 2020-11-13 23:31:24 · 102 阅读 · 0 评论 -
操作系统(哈工大李治军老师) 3
L11 内核级线程MMU 映射表并行:同时触发,同时执行进程是内核态的,因为它要分配硬件资源多处理器有多个映射表,多核使用一个映射表。多线程要到内核中才能利用多核。所以要使用能够进入内核的核心级线程(用户态是核心看不到的所以无法分配硬件资源)在用户级线程中是通过TCB管理2个用户栈完成的切换而在核心级中,除了要使用用户栈外,还要进行函数调用进入内核态所以两个栈不够,要两套栈用户栈到内核栈,用的仍然是中断INT时,用户栈进入内核栈,并压入信息(当前用户栈的信息,方便IRET时找到当前原创 2020-11-12 23:45:38 · 556 阅读 · 0 评论 -
操作系统(哈工大李治军老师)2
L9多进程都放在内存中,会出现问题。就把进程2的东西修改了。解决的办法:限制对地址100的读写多进程的地址空间分离:内存管理的主要内容通过映射的方法,这边是内存管理的内容。映射表是内存管理的核心。访问的【100】不是真实的内存,是映射表每个进程都有一个映射表逻辑地址和物理地址多进程合作:问题:有人向里面放东西,有人取东西。假设进程1,2都看到7这边可以放,但是交替执行导致1没放完,2就也往里放,所以7这边就乱套了buffer是共享缓存区,缓存区满了就不能往里放了交替执行会转载 2020-11-10 06:22:13 · 268 阅读 · 0 评论 -
操作系统(哈工大李治军老师)
L4 操作系统接口操作系统接口用户通过程序(应用软件)使用计算机程序是普通代码加上一些重要的函数如:操作系统提供重要函数(重要函数就是操作系统接口,接口表现为函数调用,由系统提供,因此叫系统调用)常见的系统调用:L5 系统调用的实现问题1:操作系统在内存中,应用程序也在内存中,为什么应用程序不能直接访问存取内核中的信息?回答:因为内核中有很多重要的信息与内容,若能随意调用和jmp那就很危险比如root密码被修改,word内容通过显存被看到问题2:怎么做到不让应用程序随意转载 2020-11-08 03:56:28 · 1030 阅读 · 0 评论