为什么要学习操作系统
参考书 操作系统基础 屠立德 屠祁 清华大学出版社 现代操作系统 陈向群等译 机械工业出版社 操作系统 吴企渊 梁燕 清华大学出版社 计算机操作系统 徐甲同等 西安电科大出版社 操作系统教程 孟庆昌 西安电科大出版社 计算机操作系统教程 张尧学 史美林 清华大学出版社 计算机操作系统教程 周长林 左万历 高等教育出版社 Windows 操作系统原理 尤晋元、史美林 机械工业出版社 Operating Systems Principles Lubomir Bic 清华大学出版社 Operating System Concepts Abraham Silberschatz etc 高等教育出版社 为什么要学习操作系统 要想编写出适合操作系统的大型的或是底层的程序,一定要熟知该操作系统。如何在相应的系统上,编写出最高效率的程序,这是众程序员追求的境界。 操作系统的功能在很多领域都使用。如果你做并发程序的开发:Web Service、分布式系统和网络,你会发现,这些领域大量使用了操作系统的概念和技术。 为什么要学习操作系统 其次,操作系统的技巧也在很多领域使用。如抽象、缓存、并发等。如抽象数据类型、抽象类很多地方都用缓存。上网时需要缓存。如果学了操作系统,你就掌握了这些内容。触类旁通. 不想知道自己写的程序到底是如何在计算机上运行的吗? 历史证明,对很多人来说学操作系统是一件很痛苦的事情。 第1章 引论 先期课程 数据结构 计算机组成原理 计算机体系结构 C语言 目录 1.1 操作系统的目标和作用 1.2 操作系统的发展过程 1.3 操作系统的基本特性 1.4 操作系统的主要功能 1.5 操作系统的结构设计 计算机系统的组成结构及OS在系统中的地位: 计算机系统的层次和视图 操作系统的定义: 是裸机上的第一层软件。由一系列的程序模块组成。 是为了建立用户与计算机之间的接口而为裸机配置的一种系统软件。 是一种资源管理程序。 一、 目标 措施 1.方便性: 方便用户使用 用户---OS---硬件 2.有效性: 资源得到有效应用 资源管理(处理机.存储器.设备.文件) 增强系统的处理能力 组织工作流程(调度,I/O--CPU) 3.可扩充性: 增加新/修改老功能 系统结构(模块,层次) 4.开放性: 兼容 互连 世界标准—OSI OS的定义:是控制和管理计算机硬件和软件资源,合理的组织工作流程,以及方便用户使用的程序集合. 1.2 操作系统的发展过程 无操作系统的计算机系统(真空管) 单道批处理系统(晶体管) 多道批处理系统(集成电路) 分时系统 实时系统 1.2.1 无操作系统的计算机系统一、人工操作方式 预约机时(联机方式):写好程序,穿成纸带,用光电设备输入到计算机上。如通过光表示1,否则为0; 轮到自己上机时,通过纸带机输入到计算机的内存 将手动开关拨到相应位置。在内存的指定位置执行程序。 1.2.1 无操作系统的计算机系统一、人工操作方式的缺点 运行顺利时,会浪费预约时间。运行不顺利时,预约的时间不够。程序未能完成。当时间到时,必须下机。只能下载内存的内容,回去再分析。 用户独占全机 CPU等待人工操作 解决人工操作方式的缺点的方法 脱机输入输出方式:程序和数据的输入/出都是在卫星机(外围机)的控制下进行的,主机没有参与。因此,称为脱机(主机)输入输出方式。 脱机输入输出方式的优点 1、减少了CPU的空闲时间。 2、提高了I/O速度 提高早期CPU的利用率的方法 计算机发展的早期,没有任何用于管理的软件,所有的运行管理和具体操作都由用户自己承担,任何操作出错都要重做作业,CPU的利用率甚低。 两个解决方法 A.首先配备专门的计算机操作员,程序员不再直接操作机器,减少操作机器的错误。 B.进行批处理,操作员把用户提交的作业分类,把一批作业编成一个作业执行序列。每一批作业将有专门编制的监督程序自动依次处理。 批处理的两个含义 1、指系统内可同时容纳多个作业,这些作业存放在大容量的外存中,组成一个后备作业队列,系统按一定的调度原则每次从后备作业队列中取一个(单道批处理)或多个(多道批处理)作业调入内存运行,