没有合适的资源?快使用搜索试试~ 我知道了~
自己整理的山东大学操作系统期末考试重点,粉丝可下载 自己整理的山东大学操作系统期末考试重点,粉丝可下载 自己整理的山东大学操作系统期末考试重点,粉丝可下载
资源推荐
资源详情
资源评论
相关知识补充:
总线:总线(Bus)是计算机各种功能部件之间传送信息的公共通信干线,计算机的总线
可以划分为数据总线、地址总线和控制总线,分别用来传输数据、数据地址和控制信号。
CPU 是通过系统总线与其他部件连接并进行数据传输。
软件中断。是一条 CPU 指令,用以自陷一个中断。由于软中断指令通常要运行一个切换
CPU 至内核态(Kernel Mode)的子例程,它常被用作实现系统调用( System call ) 。
中断使 CPU 从当前任务改变为运行内核子程序,这样的操作在通用系统中发生得很频繁。
所谓地址空间,是地址访问可以达到的所有地址的集合。
所谓进程地址空间(process address space),就是从进程的视角看到的地址空间,是
进程运行时所用到的虚拟 地址的集合 。
逻辑地址空间 VS 物理地址空间:CPU 生成的地址通常称为逻辑地址,而内存单元看到的
地址(即加载到内存地址寄存器的地址)通常称为物理地址。
阻塞 VS 就绪:
阻塞(Block):当进程调用一个阻塞的系统调用时,该进程被置于睡眠( Sleep )状态 ,
这时内核调度其它进程运行,直到该进程等待的事件发生了(比如网络上接收到数据包,
或者调用 sleep 指定的睡眠时间到了)它才有可能继续运行。
与睡眠状态相对的是运行(Running)状态,在 Linux 内核中,处于运行状态的进程分为
两种情况:
(1)正在被调度执行。CPU 处于该进程的上下文环境中,程序计数器(eip)里保存着该
进程的指令地址,通用寄存器里保存着该进程运算过程的中间结果,正在执行该进程的指
令,正在读写该进程的地址空间。
(2)就绪状态。该进程不需要等待什么事件发生,随时都可以执行,但 CPU 暂时还在执
行另一个进程,所以该进程在一个就绪队列中等待被内核调度。系统中可能同时有多个就
绪的进程,那么该调度谁执行呢?内核的调度算法是基于优先级和时间片的,而且会根据
每个进程的运行情况动态调整它的优先级和时间片,让每个进程都能比较公平地得到机会
执行,同时要兼顾用户体验,不能让和用户交互的进程响应太慢。
多个处理器&多核处理器?
多个处理器:多个单核处理器,就是说电脑和处理器有多个,但是这个电脑的处理器是单
核 的;
多核处理器:单个多核处理器,也就是说电脑有一个处理器,但是这个处理器是多核的;
对于多个处理器而言,它们在执行命令的时候多个处理器之间的通信手段是电脑主板
上 的总线;而对于多核处理器而言,多个核心处理器之间通信时通过 CPU
内部总线 进行
信息的交互的。对于执行效率而言,多核处理器要优于多个处理器,在生活中,我们的电
脑上常见的处理器都是单处理器,但是这个处理器是多核的,当然,一些 IT 工作者的电脑
如果是在要求较 高的环境下工作时,都采用的多个多核处理器配置。
当然对于进程和线程问题而言,结合处理器问题,是这样的,进程资源调度的基本单
位,线程是进程的一个实体,是一个执行单元,一个进程可能包含有很多个线程,计算机
在启动之后,一个进程最少包含一个主线程,如果这个主线程结束了,那么这个进程也就
终止执行了,主线程是以函数的形式提供给操作系统的。对于并行计算是在多处理器的情
况下,操作系统把多个线程分配给响应的处理器,然后各自执行任务。
PS:一个进程的多个线程可以在多个处理器上并发执行,此处的多个处理器是指一个处理
器的多个核;
使用多用户线程的多线程解决方案,在多处理器系统中可以比在单处理器系统中 获得更好
的性能吗?此处的多处理器系统,是指多个处理器系统,同一个进程的不同线程只能分配给
一个处理器的多个核,因此增加处理器不能提升效率。
虚拟内存是计算机系统内存管理的一种技术。它使得应用程序认为它拥有连续的可用的内
存(一个连续完整的地址空间),而实际上,它通常是被分隔成多个物理内存碎片,还有
部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。
第一章:导论
计算机系统的组成部分(4):硬件,操作系统,系统程序和用户程序,用户
多道程序(multi programming):操作系统同时把多个任务保存在内存中,如果一个
执行中的任务需要等待一个事件的完成,则 CPU 切换到另一个任务并执行,而不是空等原
任务完成。
DMA(direct memory access):设备和内存之间传送一整块数据,而无需 CPU 干预,
每一块只产生一个中断,加快数据传输速度。
多处理器系统(multiprocessor):也称并行系统(parallel system),紧耦合系统
(tightly coupled system),有多个紧密通信的 CPU,共享计算机总线。
优点:(1)增加吞吐量;(2)共享资源,规模经济;(3)增加可靠性:当处理器的失灵
不会使整个系统停止。
对称多处理(SMP):所有处理器对等,没有主从关系,N 个 CPU 的 N 个进程可以同时
运行并且不影响性能,I/O 可以被任一处理器处理。
非对称多处理(AMP):处理器有主从关系,一个主处理器控制系统,其他处理器或者向
主处理器要任务或做预先定义的任务。
操作系统的类别:
(1) 批处理系统(batch):指用户将一批作业提交给操作系统后就不再干预,由操作
系统控制它们自动运行。
优点:作业流程自动化,CPU 效率高,吞吐量高。
(2) 分时系统(timesharing):分时系统将 CPU 的时间划分成若干个片段,称为时
间片。操作系统以时间片为单位,轮流为每个终端用户服务。
优点:由于切换频率高,用户可以在程序运行期间与之交互,感到整个系统只为自
己所用。
(3) 实时系统(real time):实时系统是指系统能及时响应外部事件的请求,在规定
的时间内完成对该事件的处理,并控制所有实时任务协调一致的运行。
优点:提供及时响应和高可靠性
操作系统的操作:
双重模式 操作 (dual-mode operation):由用户模 式( user mode )和 内核 模式
(kernel mode)组成,用户模式下应用程序需要操作系统的服务时,必须切换至内核模
式,由操作系统完成相应请求。
特权指令(privileged instruction):通过识别模式位,保证特权指令只能由操作系统
完成,保护操作系统和用户程序不受错误用户程序影响。
定时器(Timer):使用定时器在给定时间后中断,确保操作系统对 CPU 的控制,同时防
止用户程序不将控制权返回操作系统的情况。
第二章:操作系统结构
命令解释程序:获取并执行用户指定的下一条命令。
Unix:外壳(shell),ms-dos:command.com
(1) 命令解释程序本身包含代码以执行这些命令
(2) 由系统程序实现绝大多数命令(多数操作系统)
系统调用(system call):操作系统内核提供一系列预定功能,通过一组称为“系统调用
“的接口完成应用程序请求的服务。当应用程序需要操作系统操作系统提供服务时,如请求
I/O 资源或执行 I/O 操作,应用程序必须通过系统调用实现。
API:windows 系统的 win32API,POSIX 系统的 POSIX API,JAVA 虚拟机程序的 JAVA
API
系统调用接口截取 API 的函数调用,并调用操作系统中相应的系统调用。
为什么使用 API? --程序的可移植性;隐藏大量系统调用的细节。
系统调用传递参数:
(1) 通过寄存器传参
(2) 参数储存在内存的块和表中,块的地址通过寄存器传递
(3) 参数通过程序压入堆栈,并通过操作系统弹出
系统调用的类型(5):进程控制,文件管理,设备管理,信息维护,通信
机制(mechanism):how to do it
策略(policy):what to do
定时器结构是一种 CPU 保护的机制,对于特定用户将定时器设置成多长时间是一个策略问
题。
操作系统的结构:
1. 简单结构
2. 分层方法(layered approach):将操作系统分为多个层次,第 0 层是硬件,第 N
层是用户接口,每一层依靠更底层的功能来实现,形成层次化结构。
优点:每层只能利用较低层的功能和服务,简化了构造和调试,简化了系统的设计
和实现。
缺点:对层的详细定义较为困难;每层都为系统调用增加了额外开销,与其他方法
相比效率较差。
3.*微内核(microkernel):将所有非基本部分从内核中移走,并将它们实现为系统程
序或用户程序,这样就获得了更小的内核。微内核通常包括最小的进程和内存管理以及通
信功能。用户程序和系统服务(运行在用户空间)通过微内核以消息传递形式通信,并不
会直接交互。
优点:
(1) 便于扩充操作系统
(2) 操作系统容易移植
(3) 更好的安全性和可靠性
缺点:
各个服务之间缺少通信,只能靠微内核的信息传递,导致效率下降,系统性能下降。
4.模块(modules):用面向对象编程技术生成模块化的内核,使用动态加载模块,每
个模块之间使用接口进行通信。类似于层次结构,但是模块之间没有上下层的依赖关系,
模块之间可以相互调用,更加灵活。类似于微内核,但是必要的时候会将内容加载到内核
中,比微内核更有效率。
许多操作系统采用混合结构。
虚拟机技术:将一套硬件设备抽象成多套,采用 CPU
调度 和虚拟内存技术,制造每个进程
都有自己单独的处理器和内存的假象。
优点:可以在虚拟机上进行系统开发,不必进行中断,停止当前操作系统;每个虚拟机完
全独立于其他虚拟机,没有安全问题。
虚拟机资源共享的实现方法:
(1) 通过共享小型磁盘来共享文件
(2) 通过定义虚拟机网络
实例:VMware,Java 虚拟机
系统启动:装入内核以启动计算机的过程称为引导系统。
引导程序/引导装载程序:一小块代码,能够定位内核,将它装入内存,开始执行。
第三章:进程
进程:进程是执行中的程序,包括文本段(代码段),数据段(包括全局变量),堆(运
行期间动态分配的内存),栈(临时数据,如函数参数,返回地址和局部变量),还有程
序计数器,处理器寄存器的支持。
进程和程序的区别:智库
进程的基本特征:
(1) 并发性
(2) 动态性
(3) 独立性
(4) 异步性
(5) 结构特征
进程状态及转换:
注意:一次只有一个进程可在一个处理器上运行,但多个进程可处于就绪或等待状态
剩余27页未读,继续阅读
资源评论
夏天啵啵雨
- 粉丝: 21
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功