计算机系统概述

1.1 操作系统的基本概念

1.1.1 操作系统的概念

操作系统(Operating System OS)是控制和管理整个计算机系统硬件与软件资源,合理的组织,调度计算机的工作和资源的分配,进而与用户和其他软件提供方便接口与环境的程序集合。操作系统是计算机系统中最基本的系统软件(资源分配和调度,提供用户使用的接口)

1.1.2 操作系统的特征

操作系统最基本的两大特征:并发和共享,还有其他特征如虚拟和异步

并发(程序在宏观上同时发生,在微观上交替进行):

并发是指两个或多个程序在同一个时间间隔内发生。操作系统的并发性是指计算机系统中同时存在多个运行的程序,因此它具有处理和调度多个程序同时运行的能力。在操作系统中,引入进程的目的是使程序能够并发运行

并发和并行的区别:

并行性是指两个或多个事件在同一时刻发生,并发性是指两个或多个事件在同一个时间间隔内发生

并发在单处理器系统中一个时刻只能有一道程序运行,所以微观上程序交替的在处理器上运行。若在计算机系统中有多个处理器,则这些可以并发执行的程序便被分配到多个处理器上实现并行执行,即利用每一个处理器来处理一个可并发执行的程序

共享

资源共享即共享,指系统中的资源可供系统中多个并发执行的进程来使用

(1)互斥共享方式

当A进程访问某个资源的时,必须先提出请求。若此时资源空闲,则系统分配给A进程进行使用,此后也有其他进程访问该资源时(只要A未用完)就必须等待。仅当A进程访问完并释放资源后才允许另一个线程进行访问。

这种资源访问的方式我们称为互斥共享方式,把一段时间只允许一个进程访问的资源称为临界资源

(2)同时访问方式

有一种资源在一段时间内允许多个进程同时进程访问。进程可以交替的对该资源进行访问即“分时共享”的。如磁盘设备,一些用重入码编写的文件也可被同时共享,即允许若干个用户同时访问该文件

并发和共享的关联

1)资源共享是以程序并发为条件的,只有在程序并发的环境下才需要进行资源共享

2)若系统不能对资源共享实施有效的管理,则必会影响程序的并发执行,甚至根本无法并发执行

虚拟

虚拟是指把一个物理实体变为若干逻辑上的对应物,前者是实际存在的而后者是虚的,用户感觉上的事务。操作系统中利用多种虚拟技术来实现虚拟处理器,虚拟内存和虚拟外部设备

虚拟处理机技术是通过多道程序设计技术,采用让多道程序并发执行的方法,来分时使用一个虚拟机(时分复用技术)。此时虽然只有一个处理器但却可以向多个用户提供服务,使每个用户都感觉有一个终端(CPU)来为他们提供服务。利用多道程序设计把一个物理上的CPU虚拟为多个逻辑上的CPU,称为虚拟处理器

​​​​​​类似的我们可以采用虚拟存储器技术将一台机器的物理存储器变为虚拟存储器(空分复用技术),一遍从逻辑上扩充存储器的容量。我们把物理上不存在但用户感觉到(但实际上并不存在)的存储器称为虚拟存储器 

异步

进程的执行并不是一贯到底的,而是走走停停,它已不可预知的速度向前推进,这就是进程的异步性。(进程在并发下是交替执行的)

1.1.3 操作系统的目标和功能

为了给多道程序提供良好的运行环境,操作系统应该具备:(1)处理机管理,存储器管理,设备管理,文件管理。(2)为了方便用户使用操作系统还必须提供接口。(3)同时操作系统可以扩充机器,以便提供更方便的服务和更高的资源利用率

举例说明:用户是雇主,操作系统是工人(用来操作机器),计算机是机器(由处理机,存储器,设备,文件等几个部分组成),工人要有熟练的技能,能够控制和协调各个部件的工作,这就是操作系统对资源的管理;同时,工人必须接收雇主的命令,这就是接口,有了工人,机器就能发挥更大的作用,因此工人扩充了机器

1.2 操作系统发展历程

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

用户在计算机上的所有工作都需要人工干预(程序的装入,运行,结果的输出等)

手工操作阶段有两个突出的缺点:(1)用户独占全机,虽然不会出现因资源被其他用户占用而等待的情况,但资源利用率低 (2)CPU等待手工操作,CPU利用不充分

唯一的解决的方法是用高速的机器代替慢速的手工操作来对作业进行控制

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

为了解决人机矛盾以及CPU与I/O设备之间速度不匹配的矛盾,开始出现批处理系统。

1 单道批处理系统(空闲等待时间长)

系统对作业的处理是成批进行的,但内存中始终保持一道作业

特征:

自动性:磁带上的作业自动的逐个运行,无需人工干预

顺序性:各道作业的执行顺序与进入内存的新婚徐在正常情况下应该完全相同

单道性:在正常情况下内存仅有一道程序执行

此时面临的问题是每次在运行期间(这里是“运行时”而不是“完成后”)发出I/O请求时,高速的CPU便等待I/O操作完成,为了进一步提高资源的利用率和系统的吞吐量,引入多道程序技术

2 多道批处理系统

当一道程序因为I/O请求而暂停运行的时候,CPU便去运行另一道程序,让系统的各个组成部分都尽量去“忙”,因此切换任务所花费的时间较少,可实现系统各个不见之间的并行工作,使其整体在单位时间内的效率翻倍

特点:

1)多道:内存中同时存放多道相互独立的程序

2)宏观上并行:同时进入系统的多道程序都处于运行状态,即它们先后开始各自的运行但都未运行完毕

3)微观上串行:内存中多道程序轮流占有CPU交替执行

优点:资源利用率高,多道程序共享计算机资源;系统吞吐量大,CPU和其他资源保持忙碌状态

缺点:用户等待时间长;不提供人工交互能力,用户既不能了解自己的程序运行状态,又不能控制计算机

1.2.3 分时操作系统

所谓分时技术,是指处理器的运行时间分为很短的时间片,按时间片轮流把处理机分配给各个联机作业使用。

分时操作系统是指多个用户通过一个终端同时共享一个计算机,这些终端连接到主机上,用户可以同时与主机交互操作而互不干扰。因此,实现分时系统的关键问题是如何使用户能与自己的作业交互,即用户在自己的终端上出入命令时,系统能及时处理该命令,再返回结果给用户。

特征:

1)同时性:多个终端用户同时使用同一台计算机,终端上的用户可以同时或基本同时使用计算机

2)交互性:用户能方便的与系统进行人机对话,即用户通过终端采用对话的方式直接控制程序的运行,与程序进行交互

3)独立性:系统中的多个用户可以独立的进行操作,互不干扰,单个用户感觉不到别人在使用这台计算机

4)及时性:用户的请求能够在很短的时间内得到响应。分时系统采用时间片轮转的方式使一台计算机同时为多个终端服务。

虽然分时操作系统较好的解决了人机交互问题,但在一些应用场合,需要系统能对外部的信息在规定的时间(比时间片时间还短)内做出处理(比如分级订票系统或导弹制导系统),实时操作系统应运而生

1.2.4 实时操作系统

可以把实时做做系统分为两种,若某个动作必须绝对的在规定的时刻(或者规定的时间范围)发生,称为硬实时系统(比如飞机自动控制系统);若能够接收偶尔违反时间规定且不会引起任何永久性伤害称为软实时系统。

在实时操作系统的控制下,计算机系统接收到外部信号后及时处理,并在严格的时限内完成处理。实时操作系统的特点是及时性和可靠性

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

网络操作系统把计算机网络中的各台计算机有机的结合起来,提供一种统一,经济有效的使用各台计算机的方法,实现各台计算机之间的数据的互相传送。网络操作系统主要的特点是网络中各种资源的共享和各台计算机之间的通信

分布式计算机系统是多台计算机组成并满足下列条件的系统:通信中任意两台计算机通过通信方式互换信息;系统中每台计算机都具有同等地位;每台计算机上的资源为所有用户共享;系统中任意台计算机都可以构成一个子系统;任何工作都可以分布在几台计算机上,由它们并行工作,协同完成。该系统的主要特点是:分布性和并行性

1.2.6  个人计算机操作系统

常见的有Windows,linux,MacOS等

1.3 操作系统运行环境

1.3.1 处理器运行模式

通过运行程序的不同CPU运行模式分为用户态(目态)和内核态(管态,核心态)

内核使用的特权指令:不允许用户直接使用的指令

用户态使用的非特权指令:用户可以直接使用的指令

CPU的运行模式通过程序状态寄存器(PSW)来实现,置为0时为CPU处于内核态,为1时处于用户态。

内核是计算机配置的底层软件,管理各种资源,大都具有四方面的功能

1)时钟管理

2)中断机制

3)原语

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

1.3.2 中断和异常的概念

中断(外中断):指来自CPU执行指令外部的事件(I/O完成...)

可屏蔽中断(INTR):通过改变屏蔽字实现多重中断

不可屏蔽中断(NMI):通常是紧急的硬件故障 (断电等...)

异常(内中断):指CPU执行指令内部的事件(程序非法操作码...)

故障:由指令引起的异常(非法操作,运算溢出等)

自陷:用户在用户态下调用内核程序

终止:出现了使得CPU无法继续执行的硬件故障

中断和异常的处理过程

中断信号→中断向量表→中断处理程序

1)关中断

2)保存断点和程序状态

3)识别异常和中断并转到相应的处理程序

1.3.3 系统调用

操作系统提供的调用系统资源功能

设备管理

文件管理

进程管理

内存管理

进程通信

1.4 操作系统结构

微内核

微内核架构,将最基本的功能保留在内核,将那些不需要在内核态执行的功能移到用户态执行,降低内核的设计难度

定义微内核结构OS的四个方面

1)足够小的内核

2)基于客户/服务器模式

3)应用“机制与策略分离”原理

4)采用面向对象技术(面向对象技术中的“抽象”和“屏蔽”原则能控制系统的复杂性,进一步利用“继承”“封装”等概念还能确保操作系统的正确性和可靠性)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

努力学习的小飞侠

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

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

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

打赏作者

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

抵扣说明:

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

余额充值