导图社区 操作系统概述
操作系统第一章知识梳理
编辑于2022-03-06 01:38:12操作系统概述
计算机和操作系统
计算机发展史
机械计算机时代
始于1614
电子计算机发展过程
1946-1958 电子管(无操作系统)
1959-1964 晶体管(批操作处理系统)
1965-1970 集成电路(多道程序设计)
1971-今 大规模和超大规模集成电路
计算机技术的影响
互联网技术多媒体技术的发展使计算机开始改变人们的生活,未来的计算机将与各种新技术相结合
操作系统发展史
无操作系统时代 1946-50年代
工作方式 :程序员编程+用户 机器语言
计算机的工作特点 :用户独占全机,用户一个一个轮流使用 CPU等待用户
主要矛盾:人机速度矛盾
提高效率的途径:脱机输入/输出技术 减少CPU等待,提高利用率; 提高I/O吞吐量;
单道批处理系统 50年代末-60年代中
利用磁带把若干个作业分类编成作业执行序列,每个批作业由一个专门的监督程序自动依次处理,使用汇编语言开发。
主要问题
CPU和I/O设备使用忙闲不均(取决于当前作业的特性)
解决方法:通道和中断技术
通道:用于控制主存与外设间的数据传输,独立于CPU运行,实现CPU与I/O的并行。
中断:是指CPU在收到外部中断信号后,停止原来工作,转去处理该中断事件,完毕后回到原来断点继续工作。
多道批处理系统 60年代中~70年代中
运行特征
多道 宏观上并行运行 微观上串行运行
提高处理器利用率
在内存中同时放入多个程序
优点
资源利用率高 作业吞吐量大
缺点
用户交互性差 作业平均周转时间长
分时系统 70年代中至今
把处理机时间划分成很短的时间片,轮流地分配给各个用户程序使用,如果某个用户程序在分配的时间片用完之前还未完成计算,该程序就暂停执行,等待下一轮继续计算,此时处理机让给另一个用户程序使用。
CPU分配方式
按时间片分配
抢先式和非抢先式
特点
人机交互性好
共享主机
用户独立性
实时系统
操作系统的分类
单用户操作系统 批处理操作系统 分时操作系统 实时操作系统 网络操作系统 分布式操作系统 多处理操作系统
操作系统的概念
定义和地位
定义:操作系统是控制和管理计算机系统的硬件和软件资源,合理地组织计算机工作流程及方便用户使用程序和数据的集合。
计算机系统的组成:计算机硬件、计算机软件 计算机硬件:CPU、存储器、输入输出设备 计算机软件:系统软件、应用软件和工具软件 系统软件:操作系统、语言处理程序(汇编和编译程序)、连接装配程序、系统实用程序、工具软件等
功能
处理机管理 管理CPU的分配和运行,多道程序环境下,单位为进程
存储器管理 对内存进行分配、保护和扩充,以提高内存的利用率、方便进程并发运行。
设备管理 对所有设备进行有效管理,提高CPU与I/O设备利用率
文件管理 解决软件资源的存储、共享、保密和保护。
特性
并发性 控制多道程序同时运行 (并发而不并行)
共享性 操作系统要对系统资源进行合理分配和使用,资源在一个时间段内交替被多个进程所用。
虚拟性 一个物理实体映射为若干个对应的逻辑实体——分时或分空间。(操作系统管理系统资源的重要手段,提高资源利用率)
不确定性 由共享和并发引起
性能指标
系统可靠性 系统吞吐量 系统响应时间 系统资源利用率 可移植性
运行机制
内核(核心态,管态,系统态 ) 操作系统内核程序执行时机器所处的状态,具有较高的特权,能执行包括特权指令的一切指令,能访问所有寄存器和存储区。可以执行特权指令或算态指令(非特权指令)
时钟管理 实现计时功能
中断机制 实现中断机制
原语操作
是一种特殊程序
处于操作系统最底层,是最接近硬件的部分
这种程序的运行具有原子性——其运行只能一气呵成,不能中断
运行时间较短,调用频繁
系统资源管理
进程管理
存储器管理
设备管理
核外部分(用户态,目态,算态) 用户程序执行时机器所处的状态,是具有较低特权的执行状态,它只能执行规定的指令,只能访问指定的寄存器和存储区。只能执行算态指令
体系结构
引导
在保证硬件设备正常后,计算机利用CPU运行特定程序,通过程序识别硬盘,识别硬盘分区,识别硬盘分区上的操作系统,最后又通过程序启动操作系统,一环扣一环的完成上述过程。
BIOS ->MBR->DPT->PBR–>OS files
硬盘主引导扇区 = 硬盘主引导记录(MBR) + 硬盘分区表(DPT)
MBR通过检查DPT分区信息引导系统跳转至DBR引导加载操作系统
虚拟机
第一类虚拟机
不需要安装在实际的操作系统之上,实际使用它的时候,它作为一个中间层,下面是运行操作系统需要的各种硬件,上面就是虚拟机需要支持的各种系统(windows,linux),操作系统们通过第一类虚拟机管理程序来完成对硬件的调用。
第二类虚拟机
伪装成具有CPU和各种设备的完整计算机,实际上还是需要运行它的操作系统来提供大量的功能,它依赖于Windows,Linux等操作系统调度和分配资源。