第一章 计算机系统概述(第一部分)

原文网址:第一章 计算机系统概述——王道操作系统 – Beatless

一、操作系统的基本概念

操作系统的概念

操作系统(os):控制和管理整个计算机系统的硬件与软件资源,合理地组织和调度计算机的工作与资源的分配,进而为用户和其它软件提供方便的接口与环境的程序集合。

操作系统是计算机系统中最基本的系统软件。

操作系统的特征

操作系统的特征:并发、共享、虚拟、异步。(其中并发和共享是最基本的两个特征)

并发:一段时间内两个或多个事件在同一时间间隔内发生。(宏观并行,微观交替执行)在多核cpu中可以并发也可以并行,但是在单核cpu中只能并发。

共享:(1)互斥共享方式:一段时间内只允许一个进程访问的资源称为临界资源。临界资源被要求互斥地共 享;(2)同时访问方式:系统中的某种资源,一段时间内由多个进程“同时”访问——宏观上同时访问,微观上交替访问。

虚拟:操作系统的虚拟技术可归纳为:时分复用技术——虚拟cpu;空分复用技术——虚拟存储器。

异步:多道程序环境下允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底的,它以不可预知的速度向前推进。

操作系统的目标和功能

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

(1)处理机(cpu)管理:进程控制、进程同步、进程通信、死锁处理、处理机调度。

(2)存储器管理:内存的分配与回收、地址映射、内存保护与共享、内存扩充。

(3)文件管理:文件存储空间的管理、目录管理、文件读写管理和文件保护。

(4)设备管理:缓冲管理、设备分配、设备处理、虚拟设备。

2、操作系统作为用户与硬件系统之间的接口

(1)命令接口:①联机命令接口(交互式命令接口):cmd那样说一句做一句的。

②脱机命令接口(批处理命令接口):.bat文件那样,运行一下,执行一堆命令。

(2)程序接口:由一组系统调用组成。(系统调用只能通过用户程序间接使用——库函数之类的)

3、操作系统实现了对计算机资源的扩充

没有任何软件支持的计算机称为裸机,它仅构成计算机系统的物质基础。

我们通常将覆盖了软件的机器称为扩充机器或虚拟机。

在单处理机系统中,cpu与设备、cpu与通道、设备与设备之间可以并行。

二、操作系统的发展历程

手工操作阶段(无操作系统)

计算机上的所有计算工作都要人工干预,如程序的装入、运行、结果的输出等。随着计算机硬件的发展,人机矛盾越来越大。

缺点:①用户独占全机,但资源利用率低;

②CPU等待手工操作,CPU利用不充分。

批处理阶段(出现操作系统)

出现原因:解决人机矛盾及CPU和I/O设备之间速度不匹配的矛盾。

名词介绍:作业:放在外存中还未加载的程序。

作业调度:将外存中的程序选择并加载到内存并创建进程

批处理操作系统分为:单道批处理系统、多道批处理系统。

1、单道批处理操作系统

为实现对作业的连续处理,需要先将一批作业以脱机方式输入磁带,并在系统中配上监督程序,在其控制下,使这批作业能一个接一个地连续处理。

特点:①自动性;②顺序性;③单道性

缺点:每次主机内存中只能放入一道程序,若当它运行期间发出I/O请求,高速的CPU便处于低速的等待I/O完成的状态,浪费CPU资源。

2、多道批处理系统

用户所提交的作业都先存放在外存上并排成一个队列,作业调度程序按一定的算法从后备队列中选择若干作业调入内存,它们在管理程序的控制下相互穿插地运行,共享系统中地各种硬件/软件资源。

特点:①多道;②宏观并行;③微观串行

优点:①资源利用率高;②系统吞吐量大

缺点:①用户响应时间较长;②不提供人机交互的能力

分时操作系统

分时技术:把处理机的运行时间分为很短的时间片,按时间片轮流把处理机分给各联机作业使用;如果某个作业在分配给他的时间片用完之前计算还未完成,该作业就暂时中断,等待下一轮继续计算。此时处理机让给另一个作业使用。

解决的问题:较好地解决了人机交互的问题

特点:①同时性(允许多个终端用户使用同一台计算机);②交互性(人机对话,程序交互);③独立性(用户觉得独占全机);④及时性(用户响应时间短)

实时操作系统

能在某个时间限制内完成某些紧急任务而不需要时间片排队。

硬实时操作系统:某个动作必须绝对地在规定时间范围内发生。

软实时操作系统:能够偶尔接受偶尔违反时间规定且不会引起任何永久性的损害。

特点:①及时性;②可靠性

网络操作系统和分布式计算机系统

网络操作系统:将计算机网络中的各台计算机有机地结合起来,提供一种统一、经济而有效地使用各台计算机的方法,实现各台计算机之间数据的相互传送。

特点:①共享网络中各种资源;②各台计算机之间可以通信。

分布式计算机系统:由多台分散的计算机,经互连网络的联接而形成的系统,系统的处理和控制功能分布在各个计算机上。分布式计算机系统又简称为分布式系统。

特点:①发布性;②并行性

个人计算机操作系统

个人计算机操作系统是目前使用最广泛的操作系统,他广泛应用于文字处理、电子表格、游戏中,常见的有Windows、Linux和MacOS等。

三、操作系统的运行环境

处理器运行模式

在计算机操作系统中,通常CPU执行两种不同性质的程序:一种是操作系统内核程序;另一种是用户自编程序(系统外层的应用程序)。内核程序是应用程序的管理者,内核程序要执行一些特权指令,而应用程序不能执行特权指令。

特权指令:不允许用户直接使用的指令,如I/O指令、关中断指令(开中断指令同样)、内存清零指令,送PSW(程序状态字)到程序状态字寄存器等。

非特权指令:允许用户直接使用的指令,它不能直接访问系统中的软硬件资源,仅限于访问用户的地址空间(防止用户程序对系统造成破坏)。

CPU的运行模式划为用户态(目态)和核心态(管态、内核态),程序状态字PSW会指示当前CPU的状态。

访管指令:执行后,CPU状态从用户态转变到内核态。(访管指令是在用户态执行的,因此是非特权指令。)

当CPU处于用户态时,只能执行非特权指令;当CPU处于核心态时,可以执行除“访管指令”(陷入指令)以外的所有指令。

操作系统内核包括四方面的内容:①时钟管理 ②中断机制 ③原语 ④系统控制的数据结构及处理

1、时钟管理

计算机内时钟的功能:①向用户提供标准的系统时间 ②通过时钟中断,实现进程的切换

2、中断机制

引入中断机制的初衷:提高躲到程序运行时的CPU利用率,使CPU可以在I/O操作期间执行其它指令。

中断机制中只有一小部分功能属于内核,它们负责保护和恢复中断现场的信息,转移控制权到相关的处理程序。可以减少中断的处理时间,提高系统的并行处理能力。

中断是实现多道程序设计的必要条件

3、原语

所谓原语,一般是指由若干条指令组成的程序段,用来实现某个特定功能,在执行过程中不可被中断。

  • 原语处于操作系统的最底层,是最接近硬件的部分
  • 原语的运行具有原子性
  • 原语的运行时间都比较短,而且调用频繁

定义原语的方法:关中断—>定义原语内容—>开中断。

4、系统控制的数据结构及处理

系统中用来登记状态信息的数据结构很多,例如JCB(作业控制块)、PCB(进程控制块)设备控制块等。操作系统一些常见的基本操作如下:

  • 进程管理。进程状态管理、进程调度和分配、创建与撤销PCB等。
  • 存储器管理。存储器的空间分配和回收、内存信息保护程序、代码对换程序等。
  • 设备管理。缓冲区管理、设备分配和回收等。

中断和异常的概念

操作系统内核工作在核心态,而用户程序工作在用户态。发生中断或异常时,运行用户态的CPU会立即进入核心态,这是通过硬件实现的。

对于操作系统中,中断功能是必不可少的。

1、中断和异常的定义

中断:也称外中断,是指来自CPU执行指令外部的事件。通常用于输入或输出。

如设备发出的I/O结束中断,时钟中断。

异常:也称内中断,是指来自CPU执行指令内部的事件。

如程序的非法操作码、地址越界、运算溢出、虚存系统的缺页及专门的陷入指令等引起的事件。异常不能被屏蔽,一旦出现就应该立即处理。

异常的发生与当前执行的指令有关,而中断的发生与当前执行的指令无关。

  • 异常(内中断):与当前CPU执行的指令有关,且不能被屏蔽
    • 故障(fault):通常石油指令执行引起的异常,如非法操作码、缺页、除数为0、运算溢出。
    • 自陷(trap):用户态调用操作系统内核程序。
    • 终止(Abort):出现了CPU无法继续执行的硬件故障、控制器出错、存储校验错。
  • 中断(外中断):与当前CPU执行的指令无关
    • 可屏蔽中断:通过INTR线发出的中断请求。
    • 不可屏蔽中断:通过NMI线发出的中断请求。通常是紧急的硬件故障、电源掉线等。

其中,故障和自陷属于软件中断,终止、可屏蔽中断、不可屏蔽中断都属于硬件中断。

中断和异常的处理过程:

中断/异常发生后会打断当前进程:若当前进程可处理,那么处理后返回之前的进程;若当前进程不可处理,那么终止目标进程。

在处理外部中断的时候:①PC值由中断隐指令自动保存;②通用寄存器内容由操作系统保存;③块表(TLB)和Cache(高速缓存)中的内容由硬件机构保存。

中断处理和子程序调用的区别:

中断处理子程序调用
中断处理程序与当前被中断的程序时相互独立的子程序和主程序时同一程序的两个部分
中断的产生是随机的子程序调用时通过调用指令引起的
中断的处理过程要有专门的硬件电路才能实现子程序调用完全是软件处理过程
中断处理程序的入口地址可有硬件向量法产生向量地址,进而找到入口地址子程序调用的入口地址有调用指令中的地址码给出
中断程序由中断隐指令保护PC内容子程序调用由CALL指令(将当前PC值压入栈,再将PC设为目标入口地址)保护PC内容
响应中断时需对多个中断请求进行裁决无裁决

系统调用

系统调用:指用户在程序中调用操作系统所提供的一些子功能,它可被视为特殊的公共子程序。

系统调用功能:设备管理、文件管理、进程控制、进程通信和内存管理。

系统调用的处理过程:

  1. 用户传参:传入调用号和所需参数;
  2. 执行陷入指令:CPU状态从用户态->核心态;
  3. 由硬件和操作系统内核程序保护中断进程的现场:将PC、PSW及通用寄存器内容压入栈;
  4. 分析系统调用类型,转入相应系统调用处理子程序;
  5. 处理结束,恢复中断现场。
  • 42
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

♡すぎ♡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值