第一章操作系统概述

1.1操作系统的定义

操作系统(Operating System, OS)是控制和管理整个计算机系统的硬件和软件资源,并合理地组织和调度计算机的工作和资源的分配;以提供给用户和其他软件方便的接口和环境(向上层提供服务);它是计算机系统中最基本的系统软件(最接近硬件的一层软件)。

  • 操作系统是系统资源的管理者,既对软件进行管理,也对硬件管理:
    Alt

  • 计算机系统的层次结构
    计算机系统层次结构
    其中用户和操作系统之间可以直接相连

1.2操作系统的功能和目标

作为系统资源的管理者

  • 提供的功能:
  1. 处理机管理
  2. 存储器管理
  3. 文件管理
  4. 设备管理
  • 目标:
  1. 安全、高效

(执行一个程序前,需要将该程序放到内存中,才能被CPU处理)

向上层提供服务

  • 给用户直接使用
  1. GUI:图形化用户接口(Graphical User Interface)用户可以使用形象化的图形界面进行操作,不需要记忆复杂指令等。
  2. 早期操作系统使用联机命令用户接口=交互式命令接口(CMD控制命令行,输入一条命令,执行一条操作,用户说一句,系统执行一句)
    脱机命令接口=批处理命令接口:*.bat文件,用户说一推,系统执行一推。
    在这里插入图片描述
  • 给软件/程序员使用
    程序接口
    在这里插入图片描述

作为最接近硬件的层次

在这里插入图片描述

1.3操作系统的特征

并发

并发:是指两个或多个事件在同一时间间隔内发生。这些时间宏观上是同时发生的,在微观上是交替发生的。这与并行容易混淆——并行:两个或者多个事件在同一时刻发生
在这里插入图片描述
操作系统的并发性是指计算机系统“同时”运行着多个程序,宏观上是同时运行的,微观上交替运行的

共享

共享资源共享,是指系统中的资源可供内存中多个并发执行的进程共同使用。
两种资源共享方式:

  1. 互斥共享方式
    系统中的某些资源,虽然可以提供给多个进程,但是在同一时间段内,只允许一个进程访问资源。当进程A请求访问某资源时,必须先提出请求。若空闲,则系统可以分配该资源,此后若有其他进程也要访问该进程,只要A未用完就必须等待,仅当A使用完毕并释放该资源后,才允许另一进程访问。(这种在一段时间内只允许一个进程访问的资源,称为临界资源、独占资源
  2. 同时共享方式
    系统中还有一类资源,允许在一段时间内由多个进程“同时”对它们进行访问。这里所谓的同时,在单处理机环境下是宏观意义上的,微观上,这些进程对该资源的访问是交替进行的。(QQ和微信同时读取文件A和B,宏观上二者都在同时读取并发送文件,说明两个进程都在访问磁盘资源,读取数据。微观上,两个进程还是交替进行的)
并发和共享的关系

并发和共享是多用户(多任务)OS的两个最基本的特征,互为存在条件。
在这里插入图片描述

虚拟

虚拟是指把一个物理上的实体变为若干个逻辑上的对应物。物理实体(前者)是实际存在的,而逻辑上对应物(后者)是用户感受到的。
“虚拟”技术最早出现在通信系统中,每一条物理信道只能提供一对用户通话,为提高信道利用效率,引入虚拟技术。通过空分复用时分复用技术,将一条物理信道槟变成若干逻辑信道,原来只能供一对用户通话的信道,变为能供多个用户同时通话的逻辑信道。

  • 时分复用
    利用某设备为一用户服务的空闲时间,又转去为其他用户服务,使设备得到最充分的利用。
  1. 虚拟处理机技术:利用多道程序设计技术,为每道程序建立至少一个进程,让多道程序并发执行。虽然此时只有一台处理机,但通过分时复用,能实现同时(宏观上)为多个用户服务,使每个用户都认为是有一个处理机在专门为他服务。也就是说利用多道程序设计技术,可以将一台物理上的处理机虚拟为多台逻辑上的处理机,每台逻辑上处理机运行程序,将用户所感受到的处理机成为虚拟处理机。
  2. 虚拟设备技术,利用虚拟设备技术,通过分时复用方法,将一台物理I/O设备虚拟为多台逻辑上的I/O设备,并允许每个用户占用一台逻辑I/O设备,这样可以使原来只允许在一段时间内由一个用户访问邻接资源,变为多个用户“同时”访问共享设备。
  • 空分复用(如虚拟存储器)
    如果时分复用是通过利用处理机的空闲时间运行其他程序,提高处理机利用率。那么,空分复用技术则是利用存储器的空闲空间分区域存放和运行其它的多到程序,来提高内存利用率。

(注:显然如果失去了并发性,则一段时间内,系统只允许运行一道程序,那么就失去虚拟性的意义,所以没有并发性,就不会有虚拟性。)

异步

异步是指,在多道程序环境下,系统允许多个进程并发执行,由于资源有限,进程的执行并不是一贯到底,一气呵成,而是以停停走走的发生。
对于内存中的每个进程,何时能获得处理机运行,何时因为访问资源而被暂停,以及进程以怎样的速度向前推进,每道程序总共需要多少时间完成等等都是不可预知的。有可能先进入内存作业的进程最后完成,后进内存的先完成。即异步性。没有并发就没有异步。

1.4操作糸统的发展和分类

手工操作阶段

早期方式由程序员将事先已穿孔的纸带,装入纸带输入机(耗时),将纸带上的程序和数据输入计算机,然后启动计算机计算(较快),运行结束后,取走纸带,计算结果。完毕后,才允许下一个用户上机。
缺点:

  1. 用户独占全机
  2. CPU等待人工操作,手动装卸纸带过程中,计算机处于空闲状态。
  3. 人机速度矛盾

为了解决人机矛盾及CPU和I/O设备之间速度不匹配矛盾,引入脱机输入/输出方式,在外围机的控制下把纸带上的数据(程序)输入到磁带上,当CPU需要这些程序和数据时,再从磁带上高速调入内存。
在这里插入图片描述

批处理阶段

单道批处理系统

需要先把一批作业以脱机方式输入到磁带上,并在系统中配上监督程序,在此控制下,时这批作业能一个接一个地连续处理。
在这里插入图片描述
优点:解决人机矛盾及CPU和I/O设备之间速度不匹配矛盾
缺点:系统中的资源得不到充分利用

多道批处理系统(操作系统开始出现)

在这里插入图片描述
优点:
资源利用率高,保持CPU处于忙绿状态,在内存中装入多道程序提高内存利用率。
系统吞吐量大,主要原因归结为CPU处于忙绿状态,仅当作业完成或进行不下去时才进行切换。
缺点:
平均周转时间长,无人机交互能力。

分时操作系统

优点:提供人机交互
缺点:不能优先处理紧急任务

实时操作系统

  1. 工业(武器)控制系统:如火炮自动控制系统,飞机自动驾驶系统,导弹制导系统等。(硬实时任务)
  2. 信息查询系统:该系统接收终端发来的请求,根据用户请求,对信息进行检索和处理,并及时做出正确回答。如火车飞机订票系统。(软实时任务)
  3. 多媒体系统:(软实时任务)
  4. 嵌入式系统

硬实时任务是指系统必须满足任务对截止时间的要求,否则可能出现难以预测的后果。
软实时任务也有一个截止时间,但是不严格,若偶尔错过了任务截止时间,对系统产生影响不大。

网路操作系统

分布式操作系统

个人计算机操作系统

1.5操作系统的运行机制

在这里插入图片描述

1.6中断和异常

中断的分类

在这里插入图片描述没有中断,CPU则会只执行一道程序,直到执行完毕,允许下一道程序进入。所以没有中断,就没有并发。

中断机制

  • 检查中断信号:
    内中断:CPU在执行指令时会检查是否有异常发生
    外中断:每个指令周期末尾,CPU会检查是否有外中断需要处理。
  • 找到对应中断向量处理
    在这里插入图片描述

1.7系统调用

系统调用和函数调用的区别

在这里插入图片描述

在这里插入图片描述

系统调用过程

应用程序在CPU下执行(用户态),需要进行系统调用时,通过指令将参数传给寄存器,操作系统根据传递的参数知道当前想使用何种系统调用。传参可有多个指令,参数传递完毕,应用程序通过执行陷入指令(trap指令=访管指令)引发内中断,CPU因此转入相应中断处理程序即系统调用入口程序(内核态),根据寄存器中参数判断用户需要哪种系统调用,进行调用。结束后,CPU主动转换为用户态,继续执行应用程序。

库函数系统调用

在这里插入图片描述

1.8操作系统体系结构

在这里插入图片描述
图来源:王道操作系统、《操作系统》第四版 汤小丹

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值