操作系统课堂笔记(2)操作系统的硬件环境之I/O技术和时钟
I/O技术
1、程序控制I/O技术
有处理器提供相关的IO指令来实现的。主要缺陷是,处理器必须关注IO处理单元的状态,因而它会耗费大量的时间轮询以获得这个信息,这严重降低了系统性能。
2、中断驱动I/O技术
当IO处理单元准备好与设备交互的时候,通过物理信号通知处理器,即中断处理器。
3、DMA技术(直接存储器访问技术)
DMA通过系统总线中的一个独立的控制单元———DMA控制器,自动的控制成块的数据在内存和IO单元之间的传送。当处理器需要读写一整块数据的时候,它给DMA控制单元发送一条命令就可以处理其他事情了,DMA控制器将自动的管理数据的传送,当这个过程完成之后,它会给处理器发送一个中断,这样处理器只在开始传送和传送结束时关注一下就可以了,这再一次提高了处理器IO的效能。
4、通道
通道时独立于中央处理器的、专门负责数据IO传输工作的处理单元,它对外设实现统一管理,代替CPU对IO操作进行控制,使CPU和外设可以并行工作。(一般用于大型机系统和那些对IO处理能力要求较严格的系统中,微机中一般没有通道)
时钟的必要性
1)在多道程序运行的环境中它可以为系统发现一个陷入死循环的作业,从而防止机时的浪费。
2)在分时系统中用间隔时间来实现作业间按时间片轮转。
3)在实时系统中按要求的时间间隔输出正确的时间信号给一个实时的控制设备。
4)定唤醒那些需要延迟执行的各个外部事件。
5)记录用户使用各种设备的时间和外部事件发生的时间。
6)记录用户和系统所需要的绝对时间。
绝对时钟: 记录当时的时间,一般来说绝对时间准确,当计算机停机时,绝对时间值仍然自动修改。
间隔时钟:又称为相对时钟,也是通过时钟寄存器来实现的,同样由操作人员设置好时间间隔的初值,以后每经过一个单位时间,时钟的值减1。
操作系统课堂笔记(2)操作系统的硬件环境之I/O技术和时钟的更多相关文章
- ocp11g培训内部教材_052课堂笔记(042)_体系架构
OCP 052 课堂笔记 目录 第一部分: Oracle体系架构... 4 第一章:实例与数据库... 4 1.Oracle 网络架构及应用环境... 4 2.Oracle 体系结构... 4 3. ...
- 操作系统概念学习笔记 10 CPU调度
操作系统概念学习笔记 10 CPU调度 多道程序操作系统的基础.通过在进程之间切换CPU.操作系统能够提高计算机的吞吐率. 对于单处理器系统.每次仅仅同意一个进程执行:不论什么其它进程必须等待,直到C ...
- ucore操作系统学习笔记(二) ucore lab2物理内存管理分析
一.lab2物理内存管理介绍 操作系统的一个主要职责是管理硬件资源,并向应用程序提供具有良好抽象的接口来使用这些资源. 而内存作为重要的计算机硬件资源,也必然需要被操作系统统一的管理.最初没有操作系统 ...
- 清华大学ucore操作系统课笔记
操作系统 清华大学ucore操作系统课笔记 全文思维导图 1. 操作系统概述 1.1 什么是操作系统? 操作系统的定义 没有公认的精确定义 一个控制程序 一个系统软件 控制程序执行过程,防止错误和计算 ...
- ocp11g培训内部教材_053课堂笔记(043)_数据备份
053:数据库高级管理: 目录 第一部分:数据库备份与恢复... 4 第一章:备份恢复概述... 4 1.1 备份的意义: 4 1.2 数据库故障的类型:... 4 1.3 制定你的备份和恢复的计划. ...
- 操作系统学习笔记----进程/线程模型----Coursera课程笔记
操作系统学习笔记----进程/线程模型----Coursera课程笔记 进程/线程模型 0. 概述 0.1 进程模型 多道程序设计 进程的概念.进程控制块 进程状态及转换.进程队列 进程控制----进 ...
- 操作系统学习笔记5 | 用户级线程 && 内核级线程
在上一部分中,我们了解到操作系统实现多进程图像需要组织.切换.考虑进程之间的影响,组织就是用PCB的队列实现,用到了一些简单的数据结构知识.而本部分重点就是进程之间的切换. 参考资料: 课程:哈工大操 ...
- 《30天自制操作系统》笔记(06)——CPU的32位模式
<30天自制操作系统>笔记(06)——CPU的32位模式 进度回顾 上一篇中实现了启用鼠标.键盘的功能.屏幕上会显示出用户按键.点击鼠标的情况.这是通过设置硬件的中断函数实现的,可以说硬件 ...
- 《30天自制操作系统》笔记(03)——使用Vmware
<30天自制操作系统>笔记(03)——使用Vmware 进度回顾 在上一篇,实现了用IPL加载OS程序到内存,然后JMP到OS程序这一功能:并且总结出下一步的OS开发结构.但是遇到了真机测 ...
随机推荐
- Android手势监听
public class MainActivity extends Activity { /* * 要实现手指在屏幕上左右滑动的事件需要实例化对象GestureDetector,new * Gestu ...
- Android编程中常用的PopupWindow和Dialog对话框
注意:PopupWindow组件的使用问题,PopupWindow是一个阻塞对话框,如果你直接在Activity创建的方法中显示它,则会报错:android.view.WindowManager$Ba ...
- Swift 中的 Runtime
即使在 Swift APP 中没有一行 Object-c 的代码,每个 APP 也都会在 Object-c runtime 中运行,为动态任务分发和运行时对象关联开启了一个世界.更确切地说,可能在仅使 ...
- Fast CGI 工作原理
http://www.cppblog.com/woaidongmao/archive/2011/06/21/149092.html 一.FastCGI是什么? FastCGI是语言无关的.可伸缩架构的 ...
- Echarts-JAVA
http://www.oschina.net/p/echarts-java http://my.oschina.net/flags/blog/316920
- 关于CPU亲和性的测试
今天看到运维的同事在配置nginx的CPU亲和性时候,运维同事说他在所有的机器上都是按照8核的方式来配置worker进程的CPU亲和性的. 但我觉得就是有点不太对劲,就查了一下nginx的处理work ...
- 【Linux安全】安全口令策略设置
命令: vim /etc/login.defs 默认设置: # Password aging controls: # # PASS_MAX_DAYS Maximum number of days a ...
- Android 如何在Java代码中手动设置控件的marginleft
1.定义LayoutParams LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(ViewGroup.La ...
- Oracle EBS R12 WIP Component Issue&Return Process
oracleassemblytransactionscomponentsjobsreference 目录(?)[-] 定义BOM 定义Routing 定义WIP Discrete Job 发料 Mat ...
- centos中忘记root密码问题
centos中root密码问题 几次在虚拟机中安装cenos,都没有提示输入root密码,具体操作如下: 1.在启动的时候,进入启动界面后,按除了Enter键之外的任意键,即可进入该界面.然后 按 ...