第1单元 操作系统概论 第一节 绪论 操作系统定义
定义 操作系统是一个大型的程序系统,它负责计算机 的全部软、硬件资源的分配、调度工作,控制并 协调并发活动,实现信息的存取和保护。它提供 用户接口,使用户获得良好的工作环境。 操作系统是硬件上的第一层软件,是对硬件的首 次扩充 操作系统做硬件相关、应用无关的工作
为什么需要操作系统? 存储程序(冯.诺依曼)式计算机 计算机硬件系统由运算器、 控制器、存储器、输入设备 和输出设备五大基本部件构 成。 指令和数据采用二进制形式 将程序(指令序列)事先放 在存储器中,工作时可以自 动从存储器中取出指令并执 行指令
特点:程序之间是串行执行的!
但是,希望多个程序同时执行? 可以的! 有了操作系统:方便、高效
第1单元 操作系统概论 第一节 绪论 操作系统定义 操作系统的地位
地位 操作系统是裸机之上的第一层软件,是建立其他所有软件的基础。 硬 硬件系统 操作系统 工具软件、编程软件、数据库软件和应用软件 用户
第1单元 操作系统概论 第一节 绪论 操作系统定义 操作系统的地位 历史 手工阶段(1946年,电子管) 形成阶段(50年代,晶体管) 第1单元 操作系统概论 第一节 绪论 操作系统定义 操作系统的地位 历史 手工阶段(1946年,电子管) 形成阶段(50年代,晶体管) 成熟阶段(70年代,大规模集成电路
第一台计算机的制作人 宾夕法尼亚大学的电气工程师约翰·莫奇利和普雷特斯波·艾克
第1台计算机ENIAC(1946年) Electronic Numerical Integrator And Calculator
解决办法: 批处理 多道 分时 形成阶段 晶体管时代,CPU速度提高了! 人—— 机矛盾 机器速度 计算时间 人工时间 人工与机器时间比例 1万次/秒 1小时 3分钟 1:20 60万次/秒 1分钟 3:1 解决办法: 批处理 多道 分时
批处理 脱机批处理 主机内存中一次放一道程序 …………程序2 程序1 程序2 程序1 结果2 结果1 结果1 结果2 ……….. 卫星机 …………程序2 程序1 主 机 输出带 输入带 程序2 程序1 结果1 结果2 结果1 结果2 ……….. 输入带 打印机 卫星机 输出带 输入机 脱机批处理 主机内存中一次放一道程序
内存中可以同时放多道程序? 可以的! 在计算机主存中同时存放几道相互独立的程序。这 些程序在管理程序控制之下,相互穿插地运行。当某道 程序因某种原因不能继续运行下去时(如等待外部设备传 输数据),管理程序便将另一道程序投入运行。
需要硬件支持:Cpu和输入输出设备可以同时工作 多道运行的特征:宏观上并行、微观上串行
还需要:交互 主 机 输出带 输入带 输入带 打印机 卫星机 输出带 输入机 ┇ 主机 终端 1 终端 2 终端 n 只有多道还不够!
分时 所谓分时技术,是把处理机时间划分成很短的时间片(如几百毫秒) 轮流地分配给各个联机作业使用,如果某个作业在分配的时间片用完之前计算还未完成,该作业就暂时中断,等待下一轮继续计算。此时处理器让给另一个用户程序使用 多道需要区分每个程序,分时还需要区分用户! 多用户、多任务
操作系统成熟(1971) 第一个操作系统:Unix 多用户、多任务、分时操作系统 1983年图灵奖得主 1999 年被授予的美国国家技术勋章 Ken Thompson Dennis Ritchie 1983年图灵奖得主 1999 年被授予的美国国家技术勋章
市场占有率最高的OS Dos:单用户单任务操作系统 Windows: 单用户多任务操作系统
不要钱的操作系统 Linux(1991---) 林纳斯·本纳第克特·托瓦兹(Linus Benedict Torvalds, 1969- )
第1单元 操作系统概论 第一节 绪论 操作系统定义 操作系统的地位 历史 特点
特点 并发性 共享 不确定 虚拟 并发:多个任务在一个时间段同时做 并行:多个任务在一个时间点上同时做 并发必需要共享 可以处理随机发生的多个事件 装了操作系统以后的机器会提供比裸机更强的功能
第1单元 操作系统概论 第一节 绪论 操作系统定义 操作系统的地位 历史 特点 分类
操作系统分类 (1) 单CPU计算机配置的操作系统 (2) 具有并行结构的计算机系统配置的操作系统 批量操作系统 分时操作系统 批量操作系统 分时操作系统 实时操作系统 个人计算机操作系统 (2) 具有并行结构的计算机系统配置的操作系统 网络操作系统 (计算机网络,松耦合) 多处理机操作系统 (多处理机系统,紧耦合) 集群操作系统 (分布存储的多计算机系统 ) 并行分布式系统 (分布存储的多计算机系统) 分布式系统 (具有单一用户界面,支持分布式数据处理 ) 分布式实时系统 (支持分布式实时数据处理 )
总结 什么是操作系统 操作系统的历史 概念:多道、分时、并发
第1单元 操作系统概论 第一节 绪论 举例
操作系统名称的变化 监控(督)程序(系统)(Monitor) 执行系统(程序)(Executive System(program) 控制系统(程序)(Control System program) 管理程序(Supervisor, Supervisory System) 核心程序(Kernel) 操作系统(Operating System)
多道要求区分执行中的程序,分时要求区分用户 举例 ( )不是多道程序系统 A.单用户单任务 B.多道批处理系统 C.单用户多任务 D.多用户分时系统 多道要求区分执行中的程序,分时要求区分用户
分时系统需要使用下面哪些技术( ) A.多道程序设计技术 B.作业说明书 C.终端命令解释程序 D.中断处理 E.作业调度 F.系统调用
从用户角度看,操作系统是() A 计算机资源的管理者 B 计算机工作流程的组织者 C 用户与计算机之间的接口 D 由按层次结构组成的软件模块的集合
操作系统做什么? 帮助用户用计算机
操作系统做什么? int main(int argc, char *argv[]) { puts("hello world"); #include <stdio.h> int main(int argc, char *argv[]) { puts("hello world"); return 0; }
工作过程 OS做 编辑阶段 编写源程序 编译阶段 产生目标程序 链接阶段 产生可执行程序 装入阶段 编译器做 编辑阶段 编写源程序 编译阶段 产生目标程序 链接阶段 产生可执行程序 装入阶段 输入可执行文件名或双击图标,将程序装入内存 运行阶段 创建进程执行程序 OS做
执行 用户告诉操作系统执行hello程序 文件系统找到第一个磁盘块 创建一个新的进程,执行hello程序 程序的第一条指令执行,失败,缺页中断发生 操作系统分配一页内存,并将代码从磁盘读入,继续执行 更多的缺页中断,读入更多的页面 程序执行系统调用,将字符串送到输出设备 你在屏幕上看到hello world 进程管理 主存管理 设备管理 文件系统
如果没有操作系统……….. 编译器 将磁盘上的程序放到内存 启动程序(手工) 从键盘接收输入、送到显示器 #include <stdio.h> int main(int argc, char *argv[]) { puts("hello world"); return 0; } 将磁盘上的程序放到内存 启动程序(手工) 从键盘接收输入、送到显示器 编译器