什么是操作系统
随处可见的电子设备
所有设备都有操作系统
智能手机、平板电脑、智能手表、智能汽车
物联网设备
机器人
洗衣机、微波炉
我们关心的是:计算机操作系统
由硬件软件数据组成
硬件:CPU、内存条(主存)、硬盘(外存)、键盘鼠标(IO设备)
软件:小而美、丘丘
用户
应用程序
系统程序
操作系统(对下面对的是硬件,对上面对的是软件)
电脑硬件
INTERFACE 接口,是链接两个物体的便捷,通过这个界面,两边可以很好地对话。
硬件-硬件:USB接口、vga、hdmi、dp、pcie、雷劈接口
软件-硬件:Instructions指令集,软件使用指令集达到操作硬件的目的
软件-软件:Application Programing interface,简称API。
VIRTUAL MACHINE
操作系统向用户提供一个容易理解和使用的“计算机”,虚拟的。用户对这个计算机的操作都被操作系统转换成对计算机硬件的操作。
Application
Operating System
Hardware
Application和Operating System之间有 Virtual Machine Interface 虚拟机接口
Operating System 和 Hardware 之间有 Physical Machine Interface 物理机接口
应用程序想使用硬件的时候,操作系统提供Virtual Machine,操作系统接收到软件对虚拟接口的操作后,会转化成机器码对物理接口进行操作。
由于软件的复杂性,直接操控硬件实现会非常麻烦。所以有了操作系统作为中介,软件根据操作系统给的虚拟机接口设计,然后再由操作系统转化成难以记忆的复杂的机器码交给硬件。
操作系统能做到什么
从用户的角度
提供良好的用户界面
标准的函数库
programing更加方便不易出错
从系统的角度
管理资源
硬件资源(处理器、存储、IO)
信息资源(data)
解决申请资源时产生的冲突
阻止错误的产生核对计算机不正当的使用
操作系统扮演了计算机用户和计算机硬件之间的中间人。
操作系统的目标是提供一个环境,为用户以一种很快速和方便的方式执行程序。
操作系统是以软件的程序管理计算机的硬件。
计算机系统组成
所有的数据从总线当中流动,所有的数据都先到内存。所有的指令最终都经过CPU。
操作系统在哪?
HARD DISK 硬盘
盘片 platter,绕主轴高速旋转:磁性数据载体,分单双面
磁道:能被磁头访问的一组同心圆
扇区:数据存放的基本单位,是一个个短圆弧
柱面:所有盘片相同磁道构成的立体面
磁头+磁道
主轴 spindle:
磁臂 actuator arm
磁头 head,读写磁数据
磁盘如何工作?
磁臂移动到指定的圈道
等到要访问的数据点旋转到磁头下方
读写操作:
读:将从硬盘上读到的磁性转化0或1
写:将0或1转化成相应的磁性写入磁盘
盘片以及磁头不止一个。
主引导扇区
硬盘的0柱面,0磁头,1扇区称为主引导扇区,在这扇区存放着一段代码:MBR,它用于硬盘启动时将系统控制权交给用户指定的、在分区表登记了某个操作系统分区。
MBR内容在硬盘分区的时候由分区软件写入该扇区,MBR不属于任何操作系统,不随着操作系统的不同而不同,及时不同,也不会夹带操作系统的性质,具有公共引导的性质。
BOOTSTRAP(自己把自己拉起来)
打开电源
cpu将控制权交给bios
bios运行一个程序:通电自测试程序
bios确认所有外部设备:硬盘或扩充卡
bios找到磁盘的引导区,将其中的主引导程序bootloader装入内存
引导操作系统结束,操作系统接管计算机
中断
当有事件发生时,cpu会收到一个中断信号,可以是硬中断也可以是软件中断。
cpu会停下正在做的事,转而执行中断处理程序,执行完毕后会回到之前被中断的地方继续执行。
操作系统是一个以中断为驱动的系统。
存储系统
CPU负责将instruction从memory读入,所以程序必须在内存中才能运行。
内存以字节为单位,每个字节都有一个地址与之对应。通过load/store指令即可访问指定地址的内存
load:内存数据装入寄存器
store:寄存器数据写入内存
存储层次
寄存器
缓存
内存
SSD
磁盘
光盘
磁带
由上至下存储容量越来越大,从上至下读写速度越来越慢。123是易失性存储。
IO结构
存储器只是众多io设备的一种,io设备是计算机体系结构中种类最丰富的设备类型,而且他又很强的扩展性。
管理IO设备是操作系统中非常重要的部分,操作系统有一个专门的IO子系统负责完成这项工作。
计算机系统体系结构
单处理器系统
只有一颗主CPU,执行通用指令集。
带有其他专用处理器,为特定设备服务:磁盘、键盘、图形控制器。
他们能够执行的指令有限,不处理用户进程。
操作系统会向他们发出任务,并监控他们的状态。
多处理器系统
两个或多个紧密通信的CPU,共享计算机总线时钟内存外设。
非对称处理
对称处理 SMP,独立缓存。
集群系统
通过网络连接一起,每个节点可以为单处理器或多处理器系统,节点之间是松耦合关系
高可用性
高性能计算
操作系统结构
单用户单道模式
输入500个字符(78ms),CPU处理52ms后,结果2000个字符存到磁带上20ms,重复进行。
CPU利用率=52/(78+52+20)
多道程序设计
操作系统拥有的能力
单道程序不能让cpu和io设备始终忙碌,多道程序设计通过安排任务使用cpu总有一个执行任务,提高cpu利用率
硬件保证:处理器和io设备具备并行工作的能力
分时系统
多任务系统
允许多用户共享一台计算机
用户只有IO设备
分时系统为用户轮流分配等量的CPU时间
用户从发出指令到得到即时结果的时间成为响应时间
第一个分时系统CTSS由MIT于1962年开发出来
死亡预告
处理器调度
swap
virtual memory
磁盘管理
同步
死锁
......