首页 > 代码库 > 170322计算机硬件介绍&&时钟&&中断&&内核态、用户态与系统功能调用&&操作系统分类
170322计算机硬件介绍&&时钟&&中断&&内核态、用户态与系统功能调用&&操作系统分类
一.冯诺依曼计算机
1.1
对第一台电脑提出:
(1)二进制代替十进制;
(2)程序与数据一起放入内存中运行。
1.2示例:控制(操作码)与数据信息(操作数)
1.3一个典型的PC总线(Bus)结构
1.4华硕P5VD2-MX
(1)主芯片组:VIA P4M890/VIA VT8237A
(2)内存规格内存类型DDRII
(3)总线频率(MHz) FSB 1066MHz
(4)扩展插槽
①显卡插槽PCI-E 16X
②PCI 插槽2条PCI 插槽
③1条PCI-E 1X
(5)IDE 插槽二个IDE插槽
(6)FDD 插槽一个
(7)SATA接口2个,支持RAID 0,1,JBOD功能
(8)USB 接口8个USB2.0接口
(9)PS/2鼠标,PS/2键盘接口
(10)并口串口1个
(11)外接端口音频接口
二.南桥、北桥芯片
2.1 北桥芯片(North Bridge)是主板芯片组中起主导作用的最重要的组成部分,也称为主桥(Host Bridge)。一般来说,芯片组的名称就是以北桥芯片的名称来命名。
负责与CPU的联系并控制内存、AGP、PCI数据在北桥内部传输,提供对CPU的类型和主频、系统的前端总线频率、内存的类型(SDRAM、DDR、SDRAM、RDRAM以及DDRII等)和最大容量、/PCI/AGP/PCIE插槽、ECC纠错等支持,整合型芯片组的北桥芯片还集成了显示核心。
2.2 南桥芯片负责I/O总线之间的通信,如PCI总线、USB、LAN、ATA、SATA、音频控制器、键盘控制器、实时时钟控制器、高级电源管理等。这些技术一般相对来说比较稳定,所以不同芯片组中可能南桥芯片是一样的,不同的只是北桥芯片。
三.PC中的设备I/O端口设置
引自Siberschatz A.《操作系统概念》P427
四.时钟(Clock)
4.1 外频
(1)也称系统时钟频率,是由主板上的振荡器输出的时钟频率,经过倍频放大后用作各部件的工作频率,即同步信号。
(2)频率范围是几百兆HZ,乘以一个小的整数来获得高达1000MHZ或更高的频率。
4.2 CPU主频
外频*倍频系数。时钟周期:1/CPU主频。
4.3 IPS(CPU平均每秒执行指令数)
MIPS(CPU平均每秒执行兆指令数)
4.4 时钟也称定时器(timer),既不是块设备也不是字符设备
4.5 时钟硬件
(1)两类时钟
①连接到电源线(110V或220v),电压周期产生中断,频率50HZ或60HZ。如今较罕见。
②三部分:晶体振荡器、计数器和存储寄存器。
(2)晶振典型的频率范围是几百兆HZ,乘以一个小的整数来获得高达1000MHZ或更高的频率。
(3)当计数器为0时,产生一个CPU中断。
(4)几种可编程模式
①一次完成模式(one-shot mode):当时钟启动时,它把存储寄存器的值复制到计数器中,然后,来自晶体的每一个脉冲使计数器减1。当计数器变为0时,产生一个中断,并停止工作,直到软件再一次显示地启动它。
②方波模式(square-ware mode):当计数器变为0并且产生中断之后,存储寄存器的值自动复制到计数器中,并且整个过程无限期地再次重复下去。这些周期性的中断称为时钟滴答(clock tick)。
③优点:中断频率由软件控制。如果采用500MHz的晶体,则计数器每隔2ns脉动一次,若是32位无符号寄存器,中断可以被编程为从2ns到8.6s发生一次。
④通常包含二到三个独立的可编程时钟。
(5)Windows的时间原点是1980-1-1,每次时钟滴答都使实际时间增加一个计数。
(6)对UNIX而言,当前时间都要转换成自1970-1-1上午12时UTC以来的时钟滴答数
五.磁盘
六.中断
引自William Stallings第6版P11
6.1 中断的分类
(1)程序中断
在某些条件下由指令执行的结果产生,例如算法溢出、除0、试图执行一条非法机器指令、缺页中断、地址越界等。
(2)时间中断
CPU内部计时器产生。
(3)I/O中断
由I/O控制器产生,用于发信号通知一个操作的正常完成或各种错误条件。
(4)硬件故障中断
由诸如掉电或存储器奇偶错误之类的故障产生。
6.2 中断的分类——微机中的中断
(1)可屏蔽中断
I/O中断
(2)不可屏蔽中断
机器内部故障、掉电中断
(3)程序错误中断
溢出、除零
(4)软件中断
Trap指令或INT中断
6.3 IBM370中的中断
(1)机器故障中断
如电源故障,机器电路检验错等
(2)输入输出中断
I/O设备和通道数据传输状态
(3)外部中断
时钟中断,操作员控制台中断,多机系统中其他机器的通信要求中断,各种外设或传感器发来的实时中断
(4)程序中断
程序中的问题引起,溢出、存储保护等
(5)访管中断
每当CPU执行访管指令或陷阱指令时,引起中断并操作系统相应模块提供服务
6.4 中断处理过程
(1)设备给处理器发一个中断信号
(2)处理器处理完当前指令后响应中断,延迟非常短(要求处理器没有关闭中断)
(3)处理器处理完当前指令后检测到中断,判断出中断来源并向中断设备发送确认中断信号,确认信号使得该设备将中断信号恢复到一般状态
(4)处理器为软件处理中断做准备:保存中断点的程序执行上下文环境,通常包括程序状态字PSW、程序计数器PC、其它通用寄存器,通常保存在系统控制栈中。
处理器状态被切换到管态(即内核态)。
(5)处理器根据中断源查询中断向量表,获得与该中断相联系的处理程序入口地址,并将PC置成该地址,处理器开始一个新的指令周期,控制转移到中断处理程序
(6)中断处理程序开始工作,包括检查I/O相关的状态信息,操纵I/O设备或在设备与主存之间传送数据等等
(7)中断处理程序结束时,处理器检测到中断返回指令,被中断程序的上下文环境从系统堆栈中恢复。
处理器状态恢复成目态(即用户态)。
(8)PSW和PC恢复成中断前的值,处理器开始一个新的指令周期,中断处理结束。
6.5 程序的执行过程
七.内核态、用户态与系统功能调用
7.1 计算机的运行模式(处理器工作状态)
(1)内核态(Kerner mode)
①管态、核心态,或超级用户模式
②任何硬件的完全访问权,可执行任何机器指令,并且可以访问系统中任何存储器位置。
(2) 用户态(User mode)
①目态
②只使用机器指令的一个子集。特别地,那些会影响机器的控制或可进行I/O操作的指令,在用户态中程序是禁止的。只能访问私有地址空间。
(3) 区别
核心态的程序由硬件保护,不能修改和更换
(4)处理器通常用某个寄存器中的一个模式位来区分
当设置了模式位,则进程运行在“内核态”,反之运行在“用户态”。
7.2 系统功能调用read
C程序的UNIX系统调用:count=read(fd,buffer,nbytes);
(1)count返回读取的字节数
①等于或小于nbytes
②-1:出错
(2)执行步骤
①为执行系统调用命令做准备
·用户程序现场保留
·系统调用命令的编号等参数放入指定的存储单元
②执行系统调用
·访问系统调用入口表,找到相应子程序的入口地址,转到执行
③完成后的处理
·恢复现场,并把系统调用的返回参数送入指定存储单元,以供用户程序使用
7.3 系统调用说明
(1)源程序->编译程序->安排“访管指令”->设置一些参数(功能号)->中断并置为管态->OS分析访管指令参数(注:syscall编号)->依据功能号找到子程序入口地址->系统调用子程序->(完成后)CPU置为目态->返回read库过程->恢复现场->返回用户调用程序。
(2)访管指令也称为“陷阱”(TRAP),不是特权指令。
(3)库函数与系统调用
①示例:CreateProcess库函数,NTCreateProcess系统调用
②目的:可移植性;实际的系统调用比API更注重细节和困难。
(4)三类常用API(Application Programming Interface,应用程序编程接口):Win32 API、POSIX API、Java API
(5)系统调用
八.操作系统分类
8.1 从使用机种角度
(1)大型机操作系统
OS390,渐被Linux等UNIX的变体所替代
(2)服务器操作系统
Solaris,FreeBSD,Linux,Win Server 200X
(3)多处理机操作系统(并行系统)
Windows,Linux
(4)个人计算机操作系统
Linux,FreeBSD,Windows Vista,Macintosh
(5)掌上计算机操作系统、嵌入式操作系统
Symbian OS,Plam OS,WinCE,Android,Windows Phone,IOS
区别:没有硬盘
(6)特殊目的系统
①实时操作系统
·使计算机能及时响应外部事件的请求,在规定的严格时间内完成对该事件的处理,并控制所有实时设备和实时任务协调一致地工作的操作系统。
·实时过程控制:工业控制、军事控制
·实时通信(信息)处理:电讯(自动交换),银行,飞机订票,股市行情。
②嵌入式操作系统
③掌上型操作系统
8.2 计算机机种分类
大型机(mainframe)
小型机(minicomputer)
工作站(workstation)
服务器(server)
微型机(microcomputer/personal computer)
掌上型机(Handheld)
嵌入式机(Embedded)
8.3 从功能发展角度
(1)无软件
(2)编译器
(3)批处理系统(Batch Systems)
(4)多道程序系统(MultiProgramming Systems)
(5)分时系统(多任务,多用户) (Time-Sharing Systems)
(6)分布式系统(建构在网络之上)(网络OS)(Distributed Systems)
(7)网络操作系统
(8)集群式系统(Clustered Systems)
(9)实时操作系统
(10)嵌入式操作系统(Embeded System)
掌上计算机或PDA(个人数字助理).Palm OS和Windows CE
(11)智能卡操作系统
有些面向Java
(12)多媒体操作系统
8.5 实时操作系统(Real-time OS)
(1)定义
①使计算机能及时响应外部事件的请求,在规定的严格时间内完成对该事件的处理,并控制所有实时设备和实时任务协调一致地工作的操作系统。
②实时过程控制:工业控制、军事控制
③实时通信(信息)处理:电讯(自动交换),银行,飞机订票,股市行情。
(2)目标
①及时性。对外部请求在严格时间范围内作出反应
②高可靠性。
·硬实时系统:必须在规定时间内完成(工业控制、军事)
·软实时系统:偶尔违反时限(如多媒体播放)
8.6 分时操作系统
(1)“时间片轮转”的处理机调度策略
(2)这种调用策略是把处理机时间划分成一个个很短的“时间片”,对提出请求的每个联机用户终端,系统轮流分配一个时间片给其使用。
(3)分时系统-时间片 时间片=△t/M
①△t:用户要求响应时间(用户可忍受时间)
②M:系统可容纳的最大用户数
(4)分时系统特点
①多路性(多用户)
②交互性
③独立性(伪独立性,并行,独占)
④及时性
(5) 示例-分时系统
若时间片为100ms,系统中有10个用户,请问每个用户平均响应时间?(即从用完一个时间片到获得下一个时间片所需的时间间隔)0.01?
(6)分时的交互能力+批处理能力
(7)“前台”+“后台”
170322计算机硬件介绍&&时钟&&中断&&内核态、用户态与系统功能调用&&操作系统分类