操作系统引论

目录

操作系统的目标和作用

操作系统的目标

操作系统的作用

用户与计算机硬件之间的接口

操作系统作为计算机系统资源的管理者

操作系统实现了对计算机资源的抽象

操作系统的发展过程

人工操作方式

脱机输入/输出方式

 单道批处理系统

多道批处理系统(重点)

分时系统

实时系统

微机操作系统的发展

单用户单任务操作系统

单用户多任务操作系统

多用户多任务操作系统

国产操作系统

操作系统的基本特性

并发

共享

虚拟

异步


操作系统的目标和作用

计算机系统:硬件+软件

软件的核心:操作系统

操作系统的目标

  1. 方便性
  2. 有效性
  3. 可扩充性
  4. 开放性

操作系统的作用

用户与计算机硬件之间的接口

操作系统(OS)是用户与计算机硬件之间的桥梁。硬件无法直接被普通用户使用,因为操作硬件需要复杂的指令和资源管理。而操作系统通过提供图形界面或命令行接口,让用户可以通过简单的操作来使用硬件。举例来说,用户在操作系统中点击打开文件,实际上操作系统会将这一请求转化为对硬盘、内存等硬件的访问命令,并最终实现文件的读取。

14a69dfe7ede4028a70c1bb4e3273fc1.jpg

操作系统作为计算机系统资源的管理者

计算机的资源(如CPU、内存、硬盘、网络带宽等)是有限的,而现代计算机往往要同时运行多个应用程序。这时,操作系统就需要负责管理这些资源,确保每个程序可以合理、有效地使用硬件资源,同时避免冲突。

操作系统实现了对计算机资源的抽象

操作系统不仅管理资源,还通过抽象化让开发者和用户使用计算机资源时不必关注具体硬件的实现。操作系统会将硬件资源(如CPU、内存、硬盘、输入设备等)抽象为高层的概念,提供统一的接口供程序和用户使用。

c8edce02738c49539b56c152accf1b5b.jpg

操作系统的发展过程

人工操作方式

特点:最早期的操作系统没有专门的操作系统存在,所有的操作都是通过人工干预完成。用户在需要运行程序时,必须手动操作计算机,加载程序,输入数据,并从输出设备获取结果。

问题

  • 效率低:用户需要手动操作计算机,花费大量时间在切换任务上。
  • 人工干预频繁:任何任务都需要人来管理,缺乏自动化。

应用场景:主要用于早期的主机系统,程序的执行完全依赖于操作员的人工操作。

脱机输入/输出方式

特点:随着计算机技术的发展,脱机输入/输出方式被引入。用户的输入通过卡片或磁带的方式事先录入,计算机只负责从这些设备中读取数据并运行程序。输出也通过脱机设备进行,如通过打印机输出结果。

优势

  • 输入输出速度提升:避免了用户的实时输入,减少了CPU空闲等待时间。
  • 一定程度的自动化:程序执行和输入输出开始可以分离。

问题

  • 仍然需要人工管理:虽然输入输出自动化,但程序执行和任务切换仍需人工干预。

8cdff3fddc4341488e649c3407112973.jpg

 单道批处理系统

特点:单道批处理系统是计算机发展史上的一个重要阶段。多个任务可以一次性提交给系统,系统将这些任务按顺序依次处理。这是批处理系统的雏形。输入设备(如卡片机、磁带机)会将多个任务批量输入,计算机按顺序执行任务。

优势

  • 提高了CPU利用率:程序可以连续执行,减少了CPU空闲时间。
  • 自动化:系统能够在完成一个任务后自动执行下一个任务,而不需要人工干预。

问题

  • 单道处理:同一时刻只能执行一个任务,CPU会因等待输入/输出设备而空闲,资源利用率仍然不够高。

1d5e24a13d9644b89dc1d8253244e4fa.jpg

 其缺点是资源利用率不高

多道批处理系统(重点)

特点:多道批处理系统是单道批处理系统的改进版,允许同时处理多个任务。系统通过引入多道程序设计,使得多个程序可以同时驻留在内存中,CPU可以在等待一个任务的I/O操作时,切换执行其他任务,从而充分利用计算资源。

优势

  • 提高了资源利用率:CPU和I/O设备可以并行工作。当一个程序在等待I/O时,CPU可以执行其他程序。
  • 自动调度:操作系统引入调度程序,自动分配资源和时间片给不同的任务,提高系统效率。

技术要点

  • 内存管理:操作系统需要管理多个任务的内存分配,保证任务之间不会相互干扰。
  • 任务调度:系统通过任务调度算法决定哪个任务在某个时刻获得CPU资源。

问题

  • 多道系统增加了复杂性,特别是在资源竞争时,需要有效的调度和内存管理机制。

优点

  • 资源利用率高
  • 系统吞吐量大

缺点

  • 平均周转时间长
  • 无交互能力(批处理系统区别于其他系统的最典型特征)

多道批处理系统需要解决的问题

  • 处理机争用问题
  • 内存分配和保护问题
  • I/O设备分配问题

分时系统

特点:分时系统是为了支持多用户同时操作计算机而设计的。操作系统将CPU的时间片划分为小块,交替为每个用户提供服务。由于时间片很短,每个用户感觉自己独占了计算机,实际是多个用户共享计算资源。

优势

  • 实现了多用户共享:多个用户可以同时使用一台计算机,并且彼此感觉不到其他用户的存在。
  • 交互性:分时系统支持快速的用户响应时间,使得交互式计算成为可能。

问题

  • 对硬件要求较高:为了保证系统的高效运行,要求有快速的CPU和足够大的内存来支持多个用户任务的并发执行。

特征

  1. 多路性
  2. 独立性
  3. 及时性
  4. 交互性(分时系统区别于其他系统最典型的特征)

分时系统实现的关键问题

  1. 及时接收
  2. 及时处理

实时系统

特点:实时系统是一种专门用于实时控制任务的操作系统。实时系统要求在严格的时间约束下做出响应,并且这些响应必须在规定的时间内完成。实时系统广泛用于工业控制、航空航天、医疗设备等需要及时响应的场景。

优势

  • 确定性:实时系统对任务的响应时间是确定的,确保任务在规定的时间内完成。
  • 高可靠性:实时系统通常用于关键任务,必须确保系统能够在任何情况下保持高可靠性。

分类

  • 硬实时系统:必须严格在规定时间内完成任务,任何延迟都会导致系统失败。
  • 软实时系统:虽然要求快速响应,但少量的延迟是可以接受的。

问题

  • 系统复杂度较高:实时系统必须保证在任何情况下都能按时完成任务,因此对系统的调度和硬件资源要求非常高。

实时任务的类型

周期性实时任务和非周期性实时任务

硬实时任务和软实时任务

微机操作系统的发展

单用户单任务操作系统

这种操作系统只能同时服务一个用户,并且一次只能执行一个任务。它们主要应用于早期的个人计算机,具有较为简单的功能和较低的资源需求。

代表操作系统

  • CP/M(Control Program for Microcomputers):这是1970年代开发的一种早期的操作系统,由Gary Kildall开发,广泛应用于8位微处理器系统。它是许多早期计算机的标准操作系统。

  • MS-DOS(Microsoft Disk Operating System):是微软公司在1981年推出的操作系统,最初为IBM PC设计。MS-DOS基于单用户单任务的架构,用户通过命令行操作进行文件管理和程序运行,是个人计算机早期的主流操作系统。

单用户多任务操作系统

随着硬件性能的提升和用户需求的增加,操作系统开始支持单用户同时运行多个任务(多任务处理)。这种系统允许用户在后台运行某些程序,同时在前台处理其他任务。

代表操作系统

  • Windows 3.x:微软的Windows 3.x系列是基于MS-DOS之上的图形用户界面系统,虽然本质上依赖于单任务的MS-DOS内核,但通过窗口管理技术,实现了有限的多任务处理。

  • Mac OS(经典版):Apple的Mac OS系统在1984年推出时,也提供了单用户多任务的支持,允许用户同时运行多个应用程序。

  • Windows 95/98:这些系统为个人用户提供了更强的多任务处理能力,并逐步摆脱了MS-DOS的依赖,成为了单用户多任务操作系统的代表。

多用户多任务操作系统

这种操作系统能够同时支持多个用户连接,并在不同用户之间分配系统资源。用户可以同时执行多个任务,系统通过进程调度和内存管理等技术保障任务的高效运行和安全隔离。

代表操作系统

  • UNIX:UNIX系统起源于1960年代末,是最早的多用户多任务操作系统之一。它具有良好的稳定性和安全性,广泛应用于服务器和工作站环境,支持多个用户同时进行计算任务。

  • Linux:Linux是基于UNIX理念的开源操作系统,支持多用户和多任务。由于其强大的性能、开放性和灵活性,Linux在服务器、桌面和嵌入式系统中被广泛应用。

  • Windows NT/2000/XP及以后:微软的Windows NT系列从基础上重新设计,支持多用户多任务,具备强大的网络和安全功能。Windows 2000、XP等后续版本进一步改进,成为企业和个人用户广泛使用的操作系统。

国产操作系统

随着信息安全和自主研发需求的增加,越来越多的国产操作系统应运而生。它们基于开源系统开发,逐渐形成自主创新的能力。

代表操作系统

  • 银河麒麟(Kylin OS):这是由中国国防科技大学研发的操作系统,最早用于军用和科研领域,后续发展为面向桌面、服务器和嵌入式设备的通用操作系统。它基于Linux,具有较高的安全性和稳定性。

  • UOS(统信操作系统):统信UOS是近年来发展较快的国产操作系统之一,广泛应用于政府、企业和教育领域。它基于Linux内核,并针对中国用户需求进行了深度优化,提供良好的兼容性和易用性。

  • 深度操作系统(Deepin OS):由武汉深之度公司开发的操作系统,基于Linux内核,提供美观的用户界面和强大的应用生态,主要面向个人用户和办公环境。

  • 中标麒麟:中标软件推出的国产Linux操作系统,涵盖服务器和桌面系统,被广泛应用于政府和企业环境中,强调信息安全和自主可控。

国产操作系统的发展加快,逐步减少对国外操作系统的依赖,并在自主创新和兼容性方面不断取得进展。

操作系统的基本特性

并发(最基本),共享,虚拟,异步

并发

并发是操作系统最基本的特性,指的是在一个时间段内,系统能够处理多个任务或进程。虽然在某一时刻,单个CPU只能执行一个任务,但通过操作系统的调度机制,多个任务可以交替运行,给用户一种"同时执行"的感觉。

并发与并行的区别

  • 并发:是多个任务在时间上交替执行,即使在单核CPU上,多个进程可以通过快速切换来“并发”运行。
  • 并行:指的是多个任务在空间上同时执行,例如多核CPU中,每个核心同时处理一个任务,从而真正实现并行。

引入进程

进程是操作系统中实现并发的核心机制。每个进程是一个独立的执行单元,拥有自己的资源和地址空间。进程通过操作系统的调度算法在CPU上交替执行,形成并发。

共享

共享是指多个进程或用户可以共同使用系统中的资源,如内存、CPU、文件、I/O设备等。共享资源时,操作系统通过各种机制保证资源的有效分配和安全性。

共享方式

  1. 互斥共享方式:当一个进程正在使用某资源时,其他进程不能使用该资源。这种方式保证了数据的完整性和一致性。典型的例子是文件的写操作,只有一个进程可以同时写入某个文件,其他进程必须等待。

  2. 同时访问方式:多个进程可以同时使用某个资源,而不会互相干扰。典型的例子是文件的读操作,多个进程可以同时读取一个文件而不必等待。

操作系统使用锁机制(如信号量互斥锁)来管理共享资源的访问,以防止死锁竞态条件

虚拟

虚拟是指通过软件的手段将物理资源抽象为多个“虚拟资源”,使得每个用户或进程感觉到自己独占了系统资源,尽管这些资源实际上是共享的。虚拟化技术提高了系统的资源利用率。

时分复用技术

  • 虚拟处理机技术:通过时分复用(时间共享)的方式,每个进程感觉到自己独占CPU,而实际上是多个进程交替执行。例如,操作系统通过时间片轮转调度多个进程,使得每个进程在其分配的时间片内运行。

  • 虚拟设备技术:物理设备通过虚拟化技术被多个进程使用。每个进程觉得自己独占了设备,但实际上操作系统通过排队和调度让多个进程共享一个物理设备。例如,多个进程可以同时使用一台打印机,而操作系统将任务排队并依次执行。

异步

异步是指进程的执行顺序和时间是不可预知的,进程的执行并不是连续的、同步的。进程在执行过程中可能会被操作系统暂停(例如等待I/O或其他事件完成),然后再继续执行。异步性使得操作系统能够更好地管理多任务的并发执行。

在异步操作中,系统必须处理各种中断、切换和资源等待。例如:

  • 当一个进程发出I/O请求时,它将进入阻塞状态,等待I/O完成。
  • 操作系统可以在等待I/O完成的同时调度其他进程运行,这体现了异步特性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值