考研操作系统复习--计算机系统概述

计算机考研 同时被 2 个专栏收录
2 篇文章 0 订阅
1 篇文章 0 订阅

第一章 计算机系统基础

在这里插入图片描述

考纲内容

1.操作系统的概念,特征,功能和提供的服务.
2.操作系统的发展与分类.
3.操作系统的运行环境.
内核态和用户态:中断,异常,系统调用.
4.操作系统体系结构.

1.1操作系统的基本概念

1.1.1概念

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

1.1.2特征

1.并发

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

注意同一时间间隔(并发)和同一时刻(并行)区别
2.共享

资源共享即为共享,是指系统中的资源可供内存中多个并发执行的进程共同使用.共享可分为下两种资源共享方式
(1)互斥共享方式
系统中的某些资源,如打印机,磁带机,虽然可供多个进程使用,但为使得所打印或记录的结果不至造成混淆,因此规定在一段时间内只允许一个进程访问该资源.
(2)同时访问方式
系统中的另一类资源,允许在一段时间内有多个进程"同时"访问.这里的"同时"是宏观上的,在微观上,很可能是交替的对该资源进行访问,也就是"分时共享".典型的例子是磁盘设备.

3.虚拟

虚拟是指把一个物理上的实体变为若干逻辑上的对应物.操作系统中利用了多种虚拟技术来实现虚拟处理器,虚拟内存和虚拟外部设备等.
虚拟处理器技术是通过多道程序设计技术,采用多道程序并行执行的方法,来分时使用一个处理器的.因此,操作系统的虚拟技术可归纳为不可能:时分复用技术,如:处理器的分时共享;空分复用技术,如:虚拟存储器.

4.异步

多道程序环境允许多个程序并发执行,但由于资源有限,程序的执行并不是一贯到底的,而是走走停停的,他以不可预知的速度向前推进,这就是进程的异步性.

1.1.3目标和功能

1.功能

一.操作系统作为计算机系统资源的管理者
1.处理机管理
2.存储器管理
3.设备管理
4.文件管理
二.操作系统是计算机硬件和用户之前的接口
1.命令接口
程序接口
三.操作系统用作扩充机器
操作系统所提供的资源管理功能和方便用户的各种服务功能,将裸机改造成功能更强,使用更方便的机器

2.目标

(1)方便性(极大方便了用户,使计算机变得易学易用)
(2)有效性(一层含义:提高系统资源的利用率;二层含义:提高系统的吞吐量)
(3)可扩充性(OS广泛采用微内核技术,能够方便地添加新的功能模块)
(4)开放性(遵循国际标准,使得各种软硬件能够彼此兼容)

举个例子:用户是boss,操作系统是工人用来操作机器,计算机是机器,工人控制和协调各个部件的工作,这就是操作系统对资源的管理,工人听从boss的安排,这就是"接口".有了工人,机器就会效率更高,所以工人就成了"扩充"出来的机器.

题目

说明库函数与系统调用的区别和联系

库函数是语言或应用程序的一部分,可以运行在用户空间中,
而系统调用是操作系统的一部分,是内核为用户提供的程序接口,运行在内核中,而且许多部函数都会使用系统调用来实现功能.为使用系统调用的库函数,其执行效率通常要比系统调用高.因为系统调用时,需要上下文切换及状态的转换(用户态转换为核心态).

1.2操作系统的发展与分类

1.2.1手工操作阶段

用户在计算机上算题的所有工作都要人工干预.
特点:

1.用户独占全机,不会出现因资源已被其他用户占用而等待的现象,但资源利用率低.
2.CPU等待手工操作,CPU的利用不充分.

1.2.2批处理阶段

为了解决人机矛盾及CPU和I/O之间速度不匹配的矛盾,出现了批处理系统.分为单道批处理系统和多道批处理系统.
1.单道批处理系统

特征:
1.自动性
2.顺序性
3.单道性

2.多道批处理系统

特点:
1.多道
2.宏观上并行
3.微观上串行
优点:
资源利用率高,多道程序共享计算机资源,从而使各种资源得到充分利用;系统吞吐量大,CPU和其他资源保持"忙碌"状态.
缺点:
用户响应的时间较长,不提供人际交互能力.用户既不能了解自己的程序运行情况,又不能控制计算机.

1.2.3分时操作系统

是指把处理器的运行时间分成很短的时间片,按时间片轮流把处理器分配给个联机作业使用.若某个作业在分配给他的时间片内不能完成其计算,则该作业暂时停止运行,把处理器让给其他作业使用,等待下一轮再继续运行.由于计算机速度很快,作业运行轮转的也很快,此给每个用户的感觉就像是自己独占一台计算机.

特点:
1.同时性;只允许多个终端用户同时使用一台计算机
2.交互性;用户通过终端采用人机对话的方式直接控制程序运行,与同程序进行交互.
3.独立性;系统中多个用户可以彼此独立的进行操作,互不干扰,单个用户感觉不到,别人也在使用这台计算机,好像只有自己单独使用这台计算机一样.
4.及时性.用户请求能在很短时间内获得响应.分时系统采用时间片轮转方式使一台计算机同时为多个终端服务,使用户能够对系统的及时响应感到满意.
缺点:
虽然分时系统较好的解决了人机交互问题,但在一些应用场合,系统能对外部的信息在规定的时间内作出处理(比如飞机订票系统或导弹制导系统).

1.2.4实时操作系统

为了能在某个时间限制内完成某些紧急任务,而不需要时间片排队,诞生了实时操作系统.这里的时间限制分为两种情况:某个动作必须绝对的在规定的时刻发生,称为硬实时系统.比如飞机的飞行自动控制系统,这类系统必须提供绝对保证,让某个特定的动作在规定的时间内完成.若能够接受,偶尔违反时间规定,且不会引起任何永久性的损害.则称为软实时系统.比如飞机订票系统,银行管理系统

主要特点:
1.及时性
2.可靠性

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

网络操作系统

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

分布式计算机系统

是由多台计算机组成并满足下列条件的系统:系统中任意两台计算机通过通信方式交换信息;系统中的每台计算机都具有同等的地位,即没有主机也没有重机;每台计算器上的资源为所有用户共享;系统中的任意一台机器都可以构成一个子系统,并且还能重构;任何工作都可以分布在几台计算机上,由它们并行工作,协同完成.用于管理分布式计算机系统的操作系统分布式计算机系统.该系统的主要特点是:分布性和并行性.分布式操作系统与网络操作系统本质不同是,分布式操作系统中的若干计算机相互协同完成同一任务.

1.3操作系统的运行环境

1.3.1操作系统的运行机制

计算机系统中,通常CPU执行两种不同性质的程序:一种是操作系统内核程序;另一种是用户自编程序,也就是我们常说的应用程序属于系统外层.对操作系统而言,那两种程序的作用不同,前者是后者的管理者,因此管理程序(内核程序)要执行一些特权指令.所谓特权指令,是指计算机中允许用户直接使用的命令,比如I/O指令,置中段指令,存取用于内存保护的寄存器,送程序状态字到程序状态字寄存器等的指令. 在具体实现上,将CPU的状态划分为用户态和核心态.可以理解为CPU内部有一个小开关,当小开关为1时,CPU处于核心态,此时CPU可以执行特权命令;当小开关为0时,CPU处于用户态,此时CPU只能执行非特权命令.用户自编程序运行在用户台,操作系统内核程序运行在核心态.

大多数操作系统内核包括4方面的内容:
1.时钟管理

在计算机的各种部件中,时钟是最关键的设备.时钟的第一功能是计时,操作系统需要通过时钟管理向用户提供标准的系统时间.另外,通过时间中段的管理,可以实现进程的切换.例如:在分时操作系统中采用时间片轮转调度,在实时系统中按截止时间控制运行,在批处理系统中通过时钟管理来衡量一个作业的运行程度等.因此系统管理的方方面面无不依赖于时钟.

2.中断机制

中断技术的初衷是提高多道程序运行环境中CPU的利用率,而且主要是针对外部设备的.后来逐步得到发展形成了多种类型,成为操作系统各项操作的基础.例如,键盘或鼠标信息的输入,进程的管理和调度,系统功能的调用,设备驱动,文件访问等.无不依赖于中断机制. 可以说,现代操作系统是靠中断驱动的软件.
中断机制中,只有一小部分功能属于内核,他们负责保护和恢复中断现场的信息,转移控制权到相关的处理程序.这样可以减少中断的处理时间,提高系统的并行处理能力.

3.原语

按层次结构设计的操作系统,底层必然是一些可被调用的公用小程序,他们各自完成一个规定的操作,特点如下:
1.处于操作系统的最底层,是最接近硬件的部分
2.这些程序的运行具有原子性,其操作只能一气呵成,更多是考虑到系统的安全性和便于管理性.
3.这些程序的运行时间都较短,而且调用频繁
通常把具有这些特点的程序称为原语.定义原语的直接方法是关闭中断,让其所有动作不可分割的完成后再打开中断.

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

系统中用来登记状态信息的数据结构很多,如作业控制块,进程控制块(PCB),设备控制块,各类列表,消息队列,缓存区,空闲区登记表,内存分配标等。那实现有效的管理,系统需要一些基本的操作,常见如下:
1.进程管理。
进程状态管理,进程调度和分派,创建与撤销进程控制块等。
2.存储器管理
存储器的空间分配和回收,内存信息保护程序,代码对换程序等。
3.设备管理
缓冲区管理,设备分配和回收等。

核心态指令实际上包括系统调用类指令和一些时钟,中段和原语的操作指令。

1.3.2中断和异常的概念

1. 中断和异常的定义
1.中段也称外中段,指来自CPU执行指令以外的事件的发生。如设备发出的I/O结束中断,时钟中断.这一类中断通常是与当前指令执行无关的事件,即他们与当前处理及运行的程序无关.
2.异常也称内中段,例外或陷入,是源自CPU执行指令内部的事件.如程序的非法操作码,地址越界,算术溢出,虚存系统的缺页及专门的陷入指令引起的事件等.对异常的处理一般要依赖于当前程序的运行现场,而且异常不能被屏蔽,一旦出现应立即处理.
2.中断处理的过程
不同计算机的中断处理各具特色,各个阶段处理流程的描述如下:
1.关中断

Cpu响应中断后,首先要保护程序的现场状态,在保护现场的过程中,Cpu不应响应更高级中断源的中断请求,否则若现场保存不完整.在中断服务程序结束后,也就不能正确的恢复并继续执行现行程序.

2.保存断点

断服务程序执行完毕后能正确的返回到原来的程序,必须将原来的程序的断点保存起来.(即程序寄存器PC)

3.引出中断服务程序

其实质是取出中断服务程序的入口地址送入程序计数器PC.

4.存现场和屏蔽字

进入中断服务程序后,首先要保存现场,现场信息一般是指程序状态字寄存器PSWR和某些通用寄存器的内容。

5.开中断

允许更高级中断请求得到响应

6.执行中断服务程序

这是中断请求的目的.

7.关中断

保证在恢复现场和屏蔽字时不被中断.

8.恢复现场和屏蔽字

将现场和屏蔽字恢复到原来的状态

9.开中断,中断返回

中断服务程序的最后一道指令通常是一条中断返回指令,使其返回到原程序的断点处,以便继续执行员程序.

1.3.3系统调用

是指用户在程序中调用操作系统所提供的一些子功能,系统调用可视为特殊的公共子程序.系统中的各种共享资源都由操作系统统一掌管,因此在用户程序中,凡是与资源有关的操作(如存储分配,进行I/O传输及管理文件的),都必须通过系统调用方式向操作系统提出服务请求,并由操作系统代为完成.通常,一个操作系统提供的系统调用命令至少有几十条乃至上百条之多.系统调用按功能大致分为以下几类:
1.设备管理

完成设备的请求或释放,以及设备启动等功能.

2.文件管理

完成文件的读写,创建及删除等功能.

3.进程控制

完成进程的创建,销毁,阻塞和唤醒等功能

4.进程通信

完成进程之间的消息传递或信号传递的功能.

5.内存管理

完成内存的分配,回收以及获取作业占用内存区大小及实质等功能.
在这里插入图片描述

举例一些由用户态转向核心态的例子:

1.用户程序要求操作系统的服务,即系统调用.
2.发生一次中断.
3.用户程序中产生了一个错误状态.
4.用户程序中企图执行一条特权指令.
5.从核心态转向用户探究一条指令实现,这条指令也是特权命令,一般是中断返回指令.

注意:由用户态进入核心态,不仅状态需要切换,而且所用的堆栈也可能由用户堆栈切换为系统堆栈,但这个系统对战也是属于进程的.若程序的运行由用户态转到核心态,会用到访管指令,访管指令是在用户态使用的,所以它不可能是特权指令.

1.4操作系统的结构体系

大内核和微内核

大内核

优点:
大内核系统将操作系统的主要功能模块都作为一个紧密联系的整体运行的核心态,从而为应用提供高性能的系统服务.因为各管理模块之间共享信息,能有效利用相互之间的有效特性,所以具有无可比拟的性能优势.
缺点:
随着体系结构和应用需求的不断发展,需要操作系统提供的服务越来越多,而且接口形式越来越复杂,操作系统的设计规模急剧增长,操作系统也面临着"软件危机"困境.由于层次之间的交互关系错综复杂,定义清晰的层次间接口非常困难,复杂的交互关系也使得层次之间的界限极其模糊.

微内核

为了解决操作系统的内核代码难以维护的问题,提出了微内核的体系结构.将内核中最基本的功能保留在内核,而将那些不需要再和心态执行的功能转移到用户态执行,从而降低了内核的设计复杂性.那些移出内核的操作系统代码,根据分层的原则被划分为若干服务程序,他们的执行相互独立,交互则都借助于微内核进行通信.
优点:
为内核结构有效的分离了内核与服务,服务与服务,使它们之间的接口更加清晰,维护的代价大大降低,各个部分可以独立的优化和演进,从而保证了操作系统的可靠性.
缺点:
微内核结构的最大问题是性能问题,因为需要频繁的在内核态和用户态之间进行切换,操作系统的执行开销偏大.因此有的操作系统将那些频繁使用的系统服务又转回内核,从而保证系统的性能.但相当多的实验数据表明,体系结构不是引起性能下降的主要因素,体系结构带来的性能提升足以弥补切换开销带来的缺陷.为了减少切换开销,也有人提出将系统服务作为运行库链接到用户程序的一种解决方案,这样的体系结构称为库操作系统.

1.5本章总结

1.并行性与并发性的区别和联系

并行性是指两个或多个事件在同一时刻发生,并发性是指两个或多个事件在同一时间间隔内发生.
在多道程序环境下,并发性是指在一段时间内,宏观上有多个程序同时运行,但在单处理器系统中每个时刻却仅能有一道程序执行,因此微观上这些程序只能分时的交替执行.若在计算机系统中有多个处理器,则这些可以并发执行的程序,便被分配到多个处理器上,实现并行执行,也就是利用每个处理器来处理一个可并发执行的程序.

2.特权指令与非核权指令

特权指令是指有特殊权限的指令,由于这类指令的权限最大,使用不当将导致整个系统崩溃,如清内存,置时钟,分配系统资源,修改虚拟的段表或页表,修改用户的访问权限等.如果所有程序都能使用这些指令,那系统一天会死机很多次也不足为奇.所以特权指令必须在核心态执行. 实际上,Cpu在核心态下可以执行指令系统的全集,形象地说,特权指令是那些儿童不宜的东西,而非特权指令老少皆宜的东西.
为了防止用户程序中使用特权指令,用户态只能使用非特权指令,核心态下可以使用全部指令.在用户态下使用特权指令时,将产生中断以阻止用户使用特权指令.所以把用户程序放在用户态下运行,而操作系统中必须使用特权指令的那部分程序在核心态下运行,保证了计算机系统的安全可靠.用户态转换为核心态的唯一途径是中断或异常.

3.访管指令与访管中断

访管指令是一条可以在用户态下执行的指令.在用户程序中,应要求操作系统提供服务而有意识的使用访管指令,从而产生一个中断事件(自愿中断),将操作系统转换为核心态,称为访管中断.访管中断由访管指令产生,程序员使用访管指令指向操作系统请求服务.
在程序中引入访管指令的原因:
因为用户程序只能在用户态下运行,若用户程序想要完成在用户态下无法完成的工作,解决这个问题要靠访管指令.访管指令本身不是特权指令,它的基本功能是让程序拥有"自愿进管"的手段,从而引起访管中断.
处于用户态的用户程序使用访管指令时,系统根据访管指令的操作数执行访管中断处理程序,访管中断处理程序将按系统调用的操作数和参数传到相应的例行子程序.完成服务功能后,退出中断,返回到用户程序断点继续执行.

  • 1
    点赞
  • 0
    评论
  • 1
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值