为什么要学习操作系统的发展过程?
学习和理解操作系统的发展过程,有助于理解计算机的演化,通过对每个阶段的技术现状进行剖析,理解每个阶段的历史局限性,以及科技发展的必然性。
操作系统是基础科技产业,也是我国面临的卡脖子关键技术之一,我国于1958年研制了第一台计算机,在操作系统的技术发展过程中,我国虽然起步落后于国外且技术受到制约,但是如今的鸿蒙、欧拉和红旗Linux等产品已经在多个方面超越国外操作系统,逐步提高了市场占有率。学习和掌握操作系统发展过程的各项关键技术,研究操作系统存在的关键问题,可以设计和实现更优秀高效的国产操作系统。
操作系统的发展的动力
(1) 提高资源的利用率和系统性能;
(2) 方便用户:调试程序,事务处理、服务非专业用户;
(3) 设备技术的发展:CPU的位宽度、缓存……;
(4) 计算机体系结构的不断发展。
总而言之:出现问题,解决问题;提出需求,满足需求。
(1)人工操作
工作特点:用户独占全机,CPU等待用户,CPU利用率低。
主要矛盾:人工操作限制了计算机的发展和效率的提升。
解决方案:减少人的干预——批处理。
(2)单道批处理
工作特点:作业分类成批处理,但是内存中仍然最多只有一个作业。
主要矛盾:根据作业特性,导致CPU和I/O忙闲不均。
解决方案:将计算型作业和I/O型作业搭配运行,充分利用资源,所以需要引入多个作业进入内存——多道批处理。
(3)多道批处理
工作特点:内存中同时存在多个作业,宏观上并行运行,微观上串行运行(并发)。
技术发展:从单道到多道,带来了技术上的跃迁
1) 作业调度:作业的现场保存和恢复——保存上下文
2) 资源共享:资源的竞争和进程制约——互斥和同步
3) 内存使用:提高内存使用率——覆盖,交换和虚拟存储
4) 内存保护:系统和应用存储区不可冲突——存储保护
5) 系统逐步演化出:作业管理、处理机管理、存储管理、设备管理、文件管理
6) 出现了中断和通道技术
主要矛盾:交互性,作业完成后或出错,才能与用户交互,不利于调试和修改(其实是新需求)。
解决方案:允许在运行过程中暂停,进行干预和调试——分时技术。
(4)分时操作系统
工作特点:将CPU的时间划分成时间片,按时间片轮流把处理机分配给联机作业。
特性:人机交互性好,共享主机,用户独立性
如果有紧急任务,时间片会影响响应速度——实时操作系统。
(5)实时操作系统
工作特点:对系统的实时性要求高,通常应用于工业过程控制、军事实时控制、金融等领域。
特性:要求在规定时间内完成来自外部的事件。
(6)通用操作系统
目前的操作系统,通常具有分时、实时和批处理功能,又称作通用操作系统。
适用于计算、事务处理等多种领域,运行在多种硬件平台上。
本节资料

