操作系统学习笔记-计算机系统概述

本章中常问的问题

  1. 什么是操作系统?
  2. 什么是系统调用

带着问题出发相信你看完会有答案

一、操作系统的基本概念

什么是操作系统

操作系统管理各种计算机硬件,为应用程序提供基础,并充当用户和计算机硬件之间的桥梁,总之操作系统(OS)是指控制和管理整个计算机系统的硬件和软件资源,合理组织、调度计算机工作与资源分配,操作系统为用户和其他软件提供方便接口与运行环境,是计算机系统中最基本的系统软件。

操作系统的特征

操作系统的基本特征为:并发、共享、虚拟、异步

1.并发
并发指多个事件在同一时间间隔内发生,操作系统中引入进程的目的是使程序能并发执行。
这里注意并发和并行的区别,并发是指在一段时间内宏观是有多道程序在同时执行,但是在某一时刻只有一个程序在运行在微观上这些程序仍然是分时交替执行的。操作系统的并发性通过分时得以实现。
并行性是指系统具有同时运算的特性,需要相关硬件支持能在同一时刻进行多个工作。

2.共享

共享是指系统中的资源可供内存中多个并发执行的进程共同使用,共享方式一般可分为互斥共享方式和同时访问方式。

  • 互斥共享方式:系统中的资源在某一时间段内只允许一个进程访问该资源,这个某个时间内只能被一个进程访问的资源称为临界资源或者独占资源。
  • 同时访问方式:见名知意,这类资源允许一段时间内由多个进程同时进行访问,但是这个同时一般是宏观上的,微观上有可能是交替对该资源进行访问即- - -分时共享的。

并发和共享是操作系统最基本的两个特征,两者之间互为存在的条件:

  • 资源共享是以程序并发为条件的
  • 若系统不能对资源共享实施有效管理必将影响程序的并发执行

3.虚拟
虚拟指把一个物理上的实体变成若干逻辑上的对应物。操作系统利用了多种虚拟技术实现虚拟处理器、虚拟内存和虚拟外部设备等。

  • 虚拟处理器:利用多道程序设计技术把一个物理上的CPU虚拟为多个逻辑的CPU称为虚拟处理器。通过让多道程序并发执行的方法分时使用处理器。虽然只有一个CPU但是用户感觉是有一个CPU专门为其服务的
  • 虚拟存储器:采用虚拟存储器技术将物理存储器变为虚拟存储器,以便逻辑上扩充存储器的容量
  • 虚拟外部设备:同理通过虚拟外部设备的技术可以让本来一段时间只允许一个进程占用的临界资源变为一段时间内允许多个用户同时访问的共享设备

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

操作系统的功能与目标

  • 系统资源的管理者
  • 向用户提供接口
  • 用作扩充机器

1.系统资源的管理者

  • 处理器管理:对于处理器的管理可以归结为对进程管理,因为处理机的分配和运行都一进程(线程)为基本单位。进程管理主要功能为:进程控制、进程同步、进程通信、死锁处理、处理机调度等。
  • 存储器管理:方便用户使用以及提高内存内存利用率,主要包括内存的分配和回收、地址映射、内存保护与共享和内存扩充等。
  • 文件管理:计算机中的信息都是以文件形式存在,文件管理包括文件存储空间的管理、目录管理及文件读写管理和保护等。
  • 设备管理:主要是完成用户的IO请求,方便用户使用各种设备,并提高设备利用率。

2.向用户提供接口

操作系统提供的接口主要分为两类:一类是命令接口,用户利用这些操作命令来组织和控制作业的执行;另一类是程序接口,编程人员可以使用它们来请求操作系统服务。

命令接口
使用命令接口进行作业控制的方式主要有两种,联机控制方式和脱机控制方式。按作业控制方式不同命令接口的方式分为联机命令接口和脱机命令接口。

  • 联机命令接口又称为交互式命令接口,适用于分时或者实时系统的接口。它由一组键盘操作命令组成。用户通过控制台或者终端输入操作命令,向系统提出各种服务要求。用户每输入一条命令,控制权就转交给操作系统的命令解释程序,然后命令解释程序解释并执行此命令。完成指定功能后控制权重新回到控制台或终端。
  • 脱机命令接口又称批处理命令接口,适用于批处理系统,他由一组作业控制命令组成,脱机用户不能直接干预作业的执行。

程序接口
程序接口由一组系统调用组成。用户通过在程序中使用这些系统调用来请求操作系统为其提供服务,如使用外部设备、申请内存等。

3.操作系统用作扩充机器
没有任何软件支持的计算机称为裸机,它仅构成计算机系统的物质基础。操作系统可以将裸机改造成功能更强的机器,因此通常把覆盖了软件的机器称为扩充机器或者虚拟机

相关问题

1.库函数和系统调用的区别
库函数是语言或者应用程序的一部分,可以运行在用户空间中,系统调用时操作系统的一部分,是内核为用户提供的程序接口,运行在内核空间中,许多库函数会使用系统调用来实现功能。没有使用系统调用的库函数执行效率通常要比系统调用高。因为系统调用时需要上下文切换。

二、操作系统的发展

在这里插入图片描述

三、操作系统的运行环境

操作系统的运行机制

用户态、内核态和特权指令的概念

所谓特权指令就是指计算机中不允许用户直接使用的指令如I/O指令、置中断指令等。在具体实现上将CPU的状态划分为用户态(目态)和核心态(管态、内核态)。当CPU处于核心态可以执行相关特权指令,而处于用户态时CPU只能执行非特权指令。用户所编写的程序只能运行在用户态,操作系统内核程序运行在核心态。

操作系统内核的内容
1.时钟管理
时钟的第一功能是计时,第二功能是通过时钟中断的管理实现进程的切换。
2.中断机制
现代操作系统是靠中断驱动的软件,中断机制中只有一小部分功能属于内核,它负责保护和恢复中断现场信息,转移控制权到相关的处理程序。这样可以减少中断的处理时间,提高系统的并行处理能力。
3.原语
按层次结构设计的操作系统,底层必然是一些可被调用的公用小程序,他们各自完成一个规定的操作特点如下:

  • 处于操作系统最底层,最接近硬件
  • 程序运行具有原子性
  • 运行时间短,被频繁调用

一般把这类特点程序称为原语。定义原语的直接方法是关闭中断,让其动作不可分割的完成后再次打开中断。
4.系统控制的数据结构及处理
系统中用来登记状态消息的数据结构有很多,如作业控制块,进程控制块,设备控制块,各类链表,消息队列,缓存区,内存分配表等。为了实现有效管理,系统需要一些基本操作如下

  • 进程管理
  • 存储器管理
  • 设备管理

中断和异常的概念

用户态向内核态的转变就依赖中断的帮忙,主要是通过硬件实现的,操作系统依赖中断原因在于操作系统的发展方向主要是提高资源利用率的过程,而资源的充分使用就在于不需要使用时释放,释放行为主要依赖中断帮助完成。

1.中断和异常的定义
中断: 也称外中断指来自CPU指令之外的事件的发生,如设备发出的I/O结束中断,时钟中断(表示一个固定的时间片已到,让处理机处理计时。启动定时任务等)。这一类中断是与当前指令执行无关的事件,它们与当前处理机运行的程序无关。
异常: 也称内中断、例外、陷入,指源自CPU执行指令内部的事件,如程序的非法操作码、地址越界。算术溢出等。对异常的处理需要依赖当前程序的运行现场,而且异常不能被屏蔽,一旦出现必须立即处理。

在这里插入图片描述
2.中断处理的过程

  1. 关中断:CPU响应中断后,首先要保护程序的现场状态,在保护现场的过程中,CPU不应响应高级中断源的中断请求。否则会破坏现场,中断服务程序结束后,也就不能正确的恢复并继续执行现行程序。
  2. 保存断点:为保证中断服务程序执行完毕后能正确地返回原来的程序,必须将原来的程序的断点保存起来。
  3. 引出中断服务程序:实质是取出中断服务程序的入口地址送入程序计数器PC
  4. 保存现场和屏蔽字:进入中断程序后,首先要先保存现场,现场信息一般是指程序状态字寄存器和通用寄存器内容
  5. 开中断:允许更高级中断请求得到响应
  6. 执行中断服务程序:这是中断请求的目的
  7. 关中断:保证在恢复现场和屏蔽字时不被中断
  8. 恢复现场和屏蔽字
  9. 开中断、中断返回:中断服务程序的最后一条指令通常是一条中断返回指令,使其返回到原程序的断点处,以便程序继续执行。

系统调用

系统调用是指用户在程序中调用操作系统所提供的的一些子功能,系统调用可视为特殊的公共子程序。系统中各种共享资源都由操作系统统一管理,在用户程序中若想执行与资源有关的操作必须借助系统调用的方式向操作系统提出服务请求,并由操作系统代为完成。系统调用大概可分为如下几类

  • 设备管理
  • 文件管理
  • 进程控制
  • 内存管理

系统调用的相关功能的完成需要某些特权指令才能完成,需要操作系统由用户态向内核态转变,这么做的目的是用户程序不能直接执行对系统影响非常大的操作,必须通过系统调用的方式请求操作系统代为执行,以便保证系统的稳定性和安全性,防止用户程序随意更改或访问重要的系统资源,影响其他进程的执行。

系统调用的执行流程:
在这里插入图片描述若程序运行由用户态转到内核态,则会用到访管指令,访管指令是在用户态使用的,所以访管指令不是特权指令。

为什么说中断和通道技术的出现,多道程序概念才变得有用?

多道程序的并发执行指的是程序运行可以充分利用资源,当有程序正在利用CPU资源时,有的正在进行I/O操作,这就必须需要中断和通道技术的支持

  • 通道是一种控制一台或多台外部设备的硬件机构,它独立于CPU,可以做到输入输出与CPU并行执行。
  • 中断技术可以做到在输入输出结束时,硬件发生故障时由相应的硬件(中断机构)向CPU发出信号,这是CPU立即停下工作转向处理中断请求。

综上所述,通道技术和中断技术的结合可以实现CPU和I/O设备并行工作,多道程序的概念才变成现实。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值