操作系统知识点
2015-08-11 12:14
295 查看
计算机整体上由硬件和软件构成,硬件包括处理器,存储器,输入输出设备,软件有系统软件,支撑软件和应用软件。
系统软件就是这里的操作系统,操作系统是硬件和软件之间的桥梁,他隐蔽了硬件结构的复杂性,扩展了CPU指令集,提供通用的操作接口给上层的软件。
操作系统对系统资源进行管理和控制,通过复用,虚拟和抽象解决物理资源数量不足和资源易用性问题。复用分为时分复用:处理器在不同的时间段可以属于不同的进程,空分复用:内存地址和存储空间可以共享的进行使用。虚拟技术使得进程运行时就像自己拥有独立的设备一样,SPOOLING技术,进程将打印工作交给虚拟打印机,然后就不管了,由SPOOLING自己调用打印机完成,只要打印工作完成,在进程看来就是独立占用打印机了。抽象:就是操作系统提供硬件的调用接口,实现功能。
操作系统主要有三个抽象:进程抽象,虚存抽象,文件抽象。
进程是对进入内存的执行程序在处理器操作的状态集的抽象,主要刻画程序并发性,解决资源共享性。多道程序系统都是都建立在进程上。
进程(资源分配的基本单位)具有几个特性:
动态性,进程是程序在数据集合上的一次执行过程。
并发性:多个进程执行在时间上可重叠,在单处理器系统可并发执行。
独立性:进程是操作系统中的一个独立实体,有自己的虚存空间、程序计数器和内部状态。
制约性:共享资源协同工作产生相互制约关系。
共享性:同一程序运行于不同数据集合上构成的不同进程
线程是减少程序并发执行的时空开销,是系统调用和分配的基本单位。(把进程的独立分配资源和被调度分派执行分离开)
快速线程切换 :多线程切换只需要改变堆栈和 寄存器,地址空间不变。
通信易于实现:自动共享进程内存和文件,自由访问全局数据实现数据共享。
减少管理开销:创建线程和撤销工作比进程少得多,无需分配存储空间和各种资源。
并发程度高:充分发挥处理器和设备并行工作能力。
复用技术和虚拟技术催生多道程序系统,用进程来刻画程序的并发性。
由于程序的并发,使得多个进程之间会有竞争和协作的关系。竞争就是在互斥资源的使用上,多个进程之间会相互竞争得到资源。会产生死锁(所有的都在等待资源)和饥饿现象(一直得不到资源)。
使用多个进程来完成一项工作,这些进程间就是协作关系,他们安排执行的先后顺序互相制约。
临界区的管理:软件实现,硬件实现。信号量和pv操作解决并发进程竞争,和协作问题。
死锁产生必要条件:
1 )互斥条件:指进程对所分配到的资源进行排它性使用,即在一段时间内某资源只由一个进程占用。如果此时还有其它进程请求资源,则请求者只能等待,直至占有资源的进程用毕释放。
2)请求和保持条件:指进程已经保持至少一个资源,但又提出了新的资源请求,而该资源已被其它进程占有,此时请求进程阻塞,但又对自己已获得的其它资源保持不放。
3)不剥夺条件:指进程已获得的资源,在未使用完之前,不能被剥夺,只能在使用完时由自己释放。
4)环路等待条件:指在发生死锁时,必然存在一个进程——资源的环形链,即进程集合{P0,P1,P2,···,Pn}中的P0正在等待一个P1占用的资源;P1正在等待P2占用的资源,……,Pn正在等待已被P0占用的资源
进程间的通信:信号通信,管道通信,共享内存,信号量和PV操作,消息传递
读书笔记《操作系统教程第五版》
系统软件就是这里的操作系统,操作系统是硬件和软件之间的桥梁,他隐蔽了硬件结构的复杂性,扩展了CPU指令集,提供通用的操作接口给上层的软件。
操作系统对系统资源进行管理和控制,通过复用,虚拟和抽象解决物理资源数量不足和资源易用性问题。复用分为时分复用:处理器在不同的时间段可以属于不同的进程,空分复用:内存地址和存储空间可以共享的进行使用。虚拟技术使得进程运行时就像自己拥有独立的设备一样,SPOOLING技术,进程将打印工作交给虚拟打印机,然后就不管了,由SPOOLING自己调用打印机完成,只要打印工作完成,在进程看来就是独立占用打印机了。抽象:就是操作系统提供硬件的调用接口,实现功能。
操作系统主要有三个抽象:进程抽象,虚存抽象,文件抽象。
进程是对进入内存的执行程序在处理器操作的状态集的抽象,主要刻画程序并发性,解决资源共享性。多道程序系统都是都建立在进程上。
进程(资源分配的基本单位)具有几个特性:
动态性,进程是程序在数据集合上的一次执行过程。
并发性:多个进程执行在时间上可重叠,在单处理器系统可并发执行。
独立性:进程是操作系统中的一个独立实体,有自己的虚存空间、程序计数器和内部状态。
制约性:共享资源协同工作产生相互制约关系。
共享性:同一程序运行于不同数据集合上构成的不同进程
线程是减少程序并发执行的时空开销,是系统调用和分配的基本单位。(把进程的独立分配资源和被调度分派执行分离开)
快速线程切换 :多线程切换只需要改变堆栈和 寄存器,地址空间不变。
通信易于实现:自动共享进程内存和文件,自由访问全局数据实现数据共享。
减少管理开销:创建线程和撤销工作比进程少得多,无需分配存储空间和各种资源。
并发程度高:充分发挥处理器和设备并行工作能力。
复用技术和虚拟技术催生多道程序系统,用进程来刻画程序的并发性。
由于程序的并发,使得多个进程之间会有竞争和协作的关系。竞争就是在互斥资源的使用上,多个进程之间会相互竞争得到资源。会产生死锁(所有的都在等待资源)和饥饿现象(一直得不到资源)。
使用多个进程来完成一项工作,这些进程间就是协作关系,他们安排执行的先后顺序互相制约。
临界区的管理:软件实现,硬件实现。信号量和pv操作解决并发进程竞争,和协作问题。
死锁产生必要条件:
1 )互斥条件:指进程对所分配到的资源进行排它性使用,即在一段时间内某资源只由一个进程占用。如果此时还有其它进程请求资源,则请求者只能等待,直至占有资源的进程用毕释放。
2)请求和保持条件:指进程已经保持至少一个资源,但又提出了新的资源请求,而该资源已被其它进程占有,此时请求进程阻塞,但又对自己已获得的其它资源保持不放。
3)不剥夺条件:指进程已获得的资源,在未使用完之前,不能被剥夺,只能在使用完时由自己释放。
4)环路等待条件:指在发生死锁时,必然存在一个进程——资源的环形链,即进程集合{P0,P1,P2,···,Pn}中的P0正在等待一个P1占用的资源;P1正在等待P2占用的资源,……,Pn正在等待已被P0占用的资源
进程间的通信:信号通信,管道通信,共享内存,信号量和PV操作,消息传递
读书笔记《操作系统教程第五版》
相关文章推荐
- 七天学会ASP.NET MVC(七)——创建单页应用
- 堆排序算法
- 模块间引用的编译错误
- 102 Binary Tree Level Order Traversal
- python http post json
- spring3.0 使用@value 加载配置文件property
- python-装饰器学习示例
- HDU 5045 Contest
- Export aborted because fatal Lin error were founds. These are listed in the problems view. Either fi
- js控制元素显示在屏幕固定位置及监听屏幕高度变化的方法
- C++输出精度控制
- 带输出参数的存储过程的定义,以及在aso.net中调用
- java中比较两个double类型的数据大小
- HTML5 3D翻书效果(双面效应)
- OC中NSDate与格式化输出
- struts2 helloworld入门实例
- C++ 何时使用动态分配(即使用new关键字)?何时使用指针?
- 着重强调项目的商业价值
- 【Qt OpenGL教程】24:扩展、剪裁和TGA图像文件的手动加载
- HDOJ 4883 TIANKENG’s restaurant