r2ate1
- 关注
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9

OS基础知识
现代OS设计目标:有效性 方便性 可扩充性 开放性
OS特征:并发 共享 异步 和 虚拟(其中并发和共享为基本特征)
OS基本功能:处理机管理 内存管理 文件系统管理 设备管理 用户接口
批处理、分时、实时系统的特征:
批处理:操作员把作业编成执行序列,由监督系统依次处理,特征是成批处理、多道程序、用户脱机使用。
分时系统:把处理机运行时间分成很短的时间片,按时间片轮转分给各进程使用,特征是:交互性、多用户同时性、独立性。
实时:在允许的时间范围内做出响应,特征是:速度快 安全可靠资源利用率低。
分时系统VS实时系统:分时系统的及时性和可靠性不如实时系统,但是分时系统的交互性要由于实时系统。
并行性与并发性的区别与联系:并行性是指多个事件在同一时刻发生,并发性指的是在同一时间范围内发生。
OS用户界面
用户接口及其适用的情况:命令接口和图形化接口用于提供给用户终端使用,程序接口用于用户编程,网络接口面向网络应用。
What is 系统调用,有哪些类型:
系统调用是指在操作系统内核实现的用于实现系统功能的子程序或过程,并提供给用户程序调用。
包括:进程控制类 文件操纵类 进程通信类 信息维护类
如何理解中断、异常和系统调用:
中断和系统调用都是异常的一种,主要的区别时异步和同步,也就是说,等待与否的问题。
Exception is the rapid change of control flow, responding to some changes of the processor.
Interrupt:异步:不需要等待,是来自外部的IO设备的信号的结果,而不是由任何一条专门的指令造成的。
Syscall: 同步,deliberate exception,是执行一条指令的结果。,在用户程序和系统调用之间提供一个像过程一样的接口。
系统调用和一般的过程调用的区别:
系统调用本质上是过程调用的一种特殊形式,
运行状态:一般的过程调用调用过程和被调用过程均为用户态或核心态,而对于系统调用,调用过程为用户态,被调用过程为核心态。
软中断进入:一般的过程调用可直接由调用过程转向被调用过程,而系统调用一般通过软中断机制先进入内核,由内核进行分析,再转向命令处理程序。
返回及重新调度:一般的过程调用在被调用结束后,返回掉用点,继续执行。而系统调用在被调用结束后,需要对系统中运行的进程进行重新调度。只有当调用进程仍具有最高优先权时,才返回调用进程,继续执行。
嵌套调用:二者都允许系统过程进行嵌套调用。
进程管理
进程区别于程序在于其具有:动态性 并发性 和独立性
原语:若干条指令组成的,用于完成某一特定功能的一段程序。具有不可分割性,即原语的执行必须是连续的,执行过程当中不允许被中断。进程控制原语主要有:创建原语 阻塞原语 撤销原语 唤醒原语
进程的互斥和同步:核心区别在于等待问题,同步需要等待。同样都是针对并发程序而言的,互斥不允许共享同一资源的多个程序同时进入临界区。
线程(Thread):进程内部用于调度和占用处理机的基本单位,由线程控制表,存储线程上下文的用户栈和核心栈组成,又可以分为:用户级、核心级以及用户核心混合级线程。与进程的区别在于进程是资源管理的基本单位,而线程是处理机调度的基本单位;以线程为单位进行处理机资源调度时,处理机效率较高;多线程可降低用户等待时间,提高系统响应速度;线程没有挂起状态;进程的调度和同步多由操作系统内核完成,而线程的控制可以由内核或者用户完成。
创建一个新进程时,需要完成以下工作:1.调用进程创建原语 2.申请空白pcb 3.为新进程分配资源 4.初始化进程控制块 5.将新进程插入就绪队列。
存储管理
Belay VS 抖动
belady是指当操作系统分配给进程的页面不满足其需要的所有界面时,随着分配页面的增加,缺页率反而增加的现象;而抖动现象指的是操作系统分配给进程的页面小于某个工作集时,进程运行过程中会出现频繁的缺页中断,这种频繁的页面置换称为抖动。belay只存在于少数几个页面置换算法中,而抖动现象是当分配的资源少于某个工作集时,所有的算法都会发生。只有FIFO算法会出现Belady现象。
地址重定位方法的种类及特点:
1.静态地址重定位 :在程序执行之前,不需要硬件支持,需要占用连续的地址空间,难以做到程序和数据段的共享。
2.动态地址重定位:在程序执行过程中,CPU访问内存之前,需要硬件支持,可以实现非连续存储,有利于数据共享,提供了实现虚拟存储器的基础。
链接问题
1.静态链接:程序运行前,将各目标模块及其库函数链接成一个完整的目标模块,以后不再拆开。
2.装入时动态链接:在程序编译后,装入内存时边装入边链接。
3.运行时动态链接:程序运行时,对需要的目标模块进行连接。
各种分配算法的优缺点:
首次适应:保留了大的分区,产生了很多碎片,每次查找都从低地址开始,开销较大;
循环首次适应:开销少了,分布均匀了,但缺乏大的分区;
最好:产生了很多碎片
最坏:有利于中小型文件,不利于大型文件
分页VS分段
1.页是物理单位,段是逻辑单位
2.页的大小固定且由系统决定,段的大小由程序员决定。
3.页作业的地址空间是一维的,段作业的地址空间是二维的。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
