操作系统
Anita-Sun
一只热衷于分享前端知识的奶牛猫~ ️
展开
-
操作系统应用题
缺页问题先进先出 - FIFO如果不存在,替换掉最长的最佳置换算法 - OPT被淘汰的页面将是在未来最长时间内不再被访问的页面最近最少使用 - LRU在左边离他最远的例题例1:计算物理地址求出页号对照页表计算地址例题:例1:例2:银行家算法判断系统是否死锁提供安全序列判断在T0时刻的安全性因为这5个进程都是可以执行的,所以这个系统是安全的如果让给安全序列,就是P1 P3 P4 P2 P0只要最后算出来的是1原创 2021-06-05 10:02:12 · 719 阅读 · 1 评论 -
操作系统简答题
设计现代操作系统的主要目标是什么?OS的作用表现在哪几个方面?OS有几大特征?其最基本的特征是什么?试描述什么是微内核OS。在操作系统中为什么要引入进程概念?为了使程序在多道程序环境下能并发执行,并对并发执行的程序加以控制和描述,因此引入了进程的概念试说明PCB的作用。PCB是进程实体的一部分,是操作系统中最重要的记录型数据结构试从调度性、并发性、拥有资源及系统开销4个方面对进程和线程进行比较。调度性。线程在操作系统中作为调度和分派的基本单位,进程只作为资源拥有的基本单位。并发.原创 2021-06-04 17:01:28 · 433 阅读 · 6 评论 -
操作系统判断题
原创 2021-06-04 15:59:14 · 131 阅读 · 0 评论 -
操作系统选择题
原创 2021-06-04 15:55:34 · 216 阅读 · 0 评论 -
操作系统内核
操作系统和内核操作系统:是管理计算机硬件与软件资源的系统软件,同时也是计算机系统的内核与基石。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作界面。应用程序、操作系统、硬件的关系内核:一个提供硬件抽象层、磁盘及文件系统控制、多任务等功能的系统软件。内核是操作系统最基本的部分。它是为众多应用程序提供对计算机硬件的安全访问的一部分软件,这种访问是有限的,并且内核决定一个程序在什么时候对某部分硬件原创 2021-06-02 20:19:28 · 264 阅读 · 0 评论 -
内核级线程
进程是在内核中,所以切换进程真正是切换内核级进程多核要想充分发挥它的作用,必须支持核心级线程MMU是映射表,多核共用一套映射表,是线程用户级线程切换:TCB切,根据 TCB切换用户栈核心级线程切换:TCB切,根据TCB切换一套栈用户栈和内核栈之间的关联每一个线程都对应一个用户栈和一个内核栈,使用INT找到这个线程对应的内核栈,压SS和SP,就是用户态执行的栈;源CS和PC就是执行到什么地方。ss:sp指向用户栈,源PC指向下一条要执行指令的地址内核中的切换:switch_to在内.原创 2021-06-02 11:42:17 · 187 阅读 · 0 评论 -
用户级线程
在上次学习中,可以知道在不同进程下的同一条指令经过映射表的映射会映射到不同的地址是否可以指令发生改变而在内存上的地址不发生改变呢?可以使用线程实际中应用pthread_create创建多个线程实现切换的核心是YieldCreate要可以创造出第一次切换时的样子因为要跳到B()函数执行,之后还得调回来,所以将跳回来的地址104压栈走到第一个Yield,找到300,跳到300走到第二个Yield,找到204,跳到204跳到204之后,遇到}(闭合函数完成之后要弹栈),将404弹栈,.原创 2021-06-02 09:08:01 · 91 阅读 · 0 评论 -
多进程图像
操作系统如何组织多个进程通过PCB来记录每个进程的状态fork()是启动进程的一个接口调用,启动这个进程之后,调用了init(),init()最后执行了shell用PCB形成一些队列和数据结构来组织多进程就绪队列就是按准备好了,调用俺吧!等待队列就是还缺少一些东西(一些结果之类)进程状态图操作系统如何交替多个进程启动磁盘读写之后,将状态变成阻塞态,然后把这个进程放在了阻塞磁盘等待队列上使用schedule()进行切换从就绪队列中找到下一个进程pCur、pNew都是PCB原创 2021-06-02 00:51:29 · 80 阅读 · 0 评论 -
CPU管理的直接想法
CPU的工作原理把程序放到内存里,设置PC地址为50,CPU会发出取值的命令,把地址为50的指令经过总线从内存传入到CPU里设置好PC的初值,不断的取值执行有IO指令和没有IO指令执行的区别IO指令特别慢怎么解决:当遇到耗时较长的操作,切换到另一条指令去执行多道程序 交替执行一个CPU上交替的执行多个程序:并发将PC的值进行切换需要记录在程序切出去的时候,各个寄存器的值还有程序在切出去时候的状态…进程可以很好记录这些状态...原创 2021-06-01 18:35:41 · 69 阅读 · 0 评论 -
操作系统历史and我们的任务
操作系统历史我们的任务操作系统定义:管理计算机硬件的软件操作系统的启动把操作系统从磁盘中读出来,放到内存中,并且在内存中立了起来,并且根据相应的设备初始化一些相应的数据结构(调用init函数),之后去启动shell,等着用户使用计算机硬件进程View:CPU管理,内存管理FileView:磁盘管理,终端设备管理进程通过fork,内存通过地址...原创 2021-06-01 17:37:50 · 60 阅读 · 0 评论 -
系统调用的实现
内核态 用户态当前程序执行在什么态,由CS的最低两位来表示:0是内核态,3是用户态内核态可以访问任何数据,用户态不能访问内核数据对于指令跳转也一样DPL用来描述目标段CPL用来描述当前段这样设置可以防止外部可以查看一些私密信息实现一个whoami系统调用用户程序main是当前段CPL是3内核中函数whoami是目标段DPL是0因为DPL < CPL所以无法实现跳转,也就无法调用这个函数硬件提供了主动进入内核的方法使用终端指令int,可以将CS中的CPL改为原创 2021-06-01 13:38:16 · 79 阅读 · 1 评论 -
操作系统接口
引入操作系统接口:通过C语言程序连接操作系统和应用软件例如:用一个概念来回答问题:什么是操作系统接口?系统调用如何使用计算机:命令行// 在命令行执行这个文件./output "hello"shell也是一段程序:/bin/shcmd也就是./output "hello"图形按钮当鼠标点下去时,通过中断放到系统内部的消息队列中。应用程序 要写一个消息调用(GetMessage()),从操作系统(内核)把消息一个一个拿出来,执行应用程序...原创 2021-06-01 09:27:18 · 86 阅读 · 0 评论 -
实验一:熟悉实验环境
实验环境的工作模式hit-oslab实验环境oslab(hit-oslab-linux-20110823.tar.gz)解压这个文件tar -zxvf hit-oslab-linux-20110823.tar.gz \ -C /home/shiyanlou/查看解压是否成功ls -al文件结构Image:编译后的目标文件如果拿来一张软盘,从它的 0 扇区开始,逐字节写入 Image 文件的内容,就可以用这张软盘启动一台真正的计算机,并进入 Linux 0.11 内核bochs:boc原创 2021-05-31 21:31:47 · 232 阅读 · 0 评论