操作系统课堂笔记(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 ListView内数据的动态添加与删除
main.xml 文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns ...
- [jobdu]二叉树的镜像
树的镜像,这里的做法就是先序遍历的反过来呗. #include <iostream> #include <vector> using namespace std; void p ...
- Java异常处理之throws抛出异常
package com.test; import java.io.FileReader; public class Test2 { public static void main(String[] a ...
- Delphi GDI+ Library
GDI+ LibraryThis library enables GDI+ functionality for Delphi 2009 and later. It differs from other ...
- 延时过程中要加上app.processEvents(),进度条里也要加上这句
如何让程序等待一段时间QTime t;t.start();while(t.elapsed()<1000);这种死循环也是一种常见错误用法.但改成正确的还是比较简单的: QTime t;t.sta ...
- WCF - WAS Hosting
WCF - WAS Hosting To understand the concept of WAS hosting, we need to comprehend how a system is co ...
- Oracle系列之触发器
涉及到表的处理请参看原表结构与数据 Oracle建表插数据等等 创建一个触发器,使其可以修改tb_Department表的deptno. create or replace trigger upda ...
- DedeCMS 5.7 config.php 跨站脚本漏洞
漏洞版本: DedeCMS 5.7 漏洞描述: DeDeCMS v5.7 在/include/dialog/config.php文件中存在XSS漏洞,攻击者可以利用该漏洞盗取用户Cookie.挂马等. ...
- LFS 中文版手册发布:如何打造自己的 Linux 发行版
您是否想过打造您自己的 Linux 发行版?每个 Linux 用户在他们使用 Linux 的过程中都想过做一个他们自己的发行版,至少一次.我也不例外,作为一个 Linux 菜鸟,我也考虑过开发一个自己 ...
- 获得设备型号(含iPhone6 , iPhone 6+)
//获得设备型号 + (NSString *)getCurrentDeviceModel:(UIViewController *)controller { int mib[2]; size_t len ...