第一章 操作系统概述

操作系统概述

1. 常见的操作系统

在这里插入图片描述

2. 什么是操作系统?

2.1 操作系统的概念

  • 定义

    操作系统(简称OS)是指控制和管理整个计算机系统的硬件和软件资源,并合理的组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便的接口和环境,它是计算机系统中最基础的系统软件。也即管理计算机硬件与软件资源的程序。

    • 操作系统向用户提供了一些访问方式,这些访问方式统称为接口
    • 操作系统为应用程序也提供了对应的接口

    在这里插入图片描述

  • 操作系统的层次结构(从上到下)

    • 用户
    • 应用程序
    • 操作系统(OS)
    • 硬件(裸机)

    在这里插入图片描述

  • 与应用软件的区别

    OS是一种系统软件,对下管理硬件,对上向用户和应用程序提供服务;应用软件则是安装在操作系统中,跟操作系统进行交互的。

    • 与硬件交互
    • 对硬件资源共享进行调度管理
    • 解决并发操作处理中存在的协调问题
    • 数据结构复杂,外部接口多样化,便于用户反复使用
  • 操作系统所做的事情(主要作用

    • 管理与配置内存(硬件中最主要的资源)
    • 决定系统资源供需的优先次序
    • 控制输入设备与输出设备
    • 操作网络与管理文件系统等基本事务
    • 提供一个让用户与系统交互的操作界面

2.2 操作系统的目标和功能

2.2.1 操作系统的目标

在这里插入图片描述

2.2.2操作系统的功能

在这里插入图片描述

(1)作为计算机系统资源的管理者

管理软硬件资源、合理的组织、调度计算机的工作与资源的分配

在这里插入图片描述

1️⃣处理器(CPU)管理

  • 在多道程序环境下,cpu 的分配和运行都以进程(或线程)为基本单位,因此对 cpu 的管理可理解为对进程的管理。进程管理的主要功能包括进程控制、进程同步、进程通信、死锁处理、处理机调度等。附上一张图理解对进程的管理。

在这里插入图片描述

2️⃣存储器管理

  • 为多道程序的运行提供良好的环境,方便用户使用及提高内存的利用率,主要包括内存分配与回收、地址映射、内存保护与共享和内存扩充等功能。

在这里插入图片描述

3️⃣文件管理

  • 计算机中所有的信息都是以文件的形式存在的,操作系统中负责文件的管理的部分称为文件系统,文件管理包括文件存储空间的管理、目录管理及文件读写管理和保护等。

在这里插入图片描述

4️⃣设备管理

  • 设备管理的主要任务是完成用户的 I/O 请求,方便用户使用各种设备,并提高设备的利用率,主要包括缓存管理、设备分配、设备处理和虚拟设备等功能。

在这里插入图片描述

  • 以上4种管理功能都有操作系统负责,用户无需关注

(2)作为用户与计算机硬件系统之间的接口

  • 为了让用户方便、快捷、可靠的操作计算机硬件并执行自己的程序,操作系统提供了用户接口
  • 操作系统提供的接口分为两类:命令接口和程序接口
  • 命令接口:用户可以直接使用的,利用这些操作命令来组织和控制作业的执行
  • 程序接口:用户通过程序间接使用的,编程人员可以使用它们来请求操作系统服务

在这里插入图片描述

在这里插入图片描述

1️⃣命令接口

  • 命令接口分为两类:联机命令接口和脱机命令接口,用户可以直接调用
  • 联机命令接口:又称交互式命令接口,适用于分时或实时系统的接口,由一组键盘操作命令组成。用户输入一条指令,操作系统就执行一条指令;

在这里插入图片描述

  • 脱机命令接口:又称批处理接口,使用于批处理系统,由一组作业控制命令组成。用户输入一堆指令,操作系统运行一堆指令。在操作系统运行这些命令时用户不可干预。

批处理(Batch),也称为批处理脚本。顾名思义,批处理就是对某对象进行批量的处理,通常被认为是一种简化的脚本语言,它应用于DOS和Windows系统中。批处理文件的扩展名为bat 。在这里插入图片描述

2️⃣程序接口

  • 程序接口:由一组系统调用(也称广义指令)组成
  • 用户通过在程序中使用这些系统调用来请求操作系统为其提供服务,只能通过用户程序间接调用
  • 如使用各种外部设备、申请分配和回收内存及其它各种要求

在这里插入图片描述

动态链接库英文为DLL,是Dynamic Link Library的缩写。DLL是一个包含可由多个程序,同时使用的代码和数据的库。

  • 比如常见的图形用户界面程序接口GUI

在这里插入图片描述

注意:应用程序访问操作系统的接口这个过程叫做系统调用。

在这里插入图片描述

(3)作为扩充机器(虚拟机)

在这里插入图片描述

  • 没有任何软件支持的计算机称为裸机
  • 覆盖了软件的机器称为扩充机器或虚拟机

2.3 操作系统的特征

OS的四个基本特征:并发、共享、虚拟、异步

在这里插入图片描述

  • 并发:指两个或多个事件在同一时间间隔内发生。这些事件宏观上是同时发生的,但微观上是交替执行的分时交替执行)。常考易混概念–并行:指两个或多个事件在同一时刻同时发生。
    • 操作系统的并发性指计算机系统中同时存在着多个运行着的程序。

并发量和并行量哪一个能够提高资源利用率或者吞吐量?

​ 并行–有多少个处理机,它就能办多少事,有很明显的物理极限

​ 但是并发不一样,并发能力越强,在同一时刻内,它处理的业务就越多,吞吐量就越大,其资源利用率就越高。并发可以通过优化、调度等各种操作,去大大提高操作系统资源的利用率和它的吞吐量

  • 共享:即资源共享,是指操作系统中的资源可供内存中多个并发执行的进程共同使用。

    • 互斥共享方式:也叫独占式,系统中的某些资源,虽然可以提供给多个进程使用,但一个时间段内只允许一个进程访问该资源
    • 同时共享方式:系统中的某些资源,允许一个时间段内有多个进程“同时”对它们进行访问。
    • “同时“只是宏观上,微观上,这些进程可能是交替地对该资源进行访问的(即分时共享)

    生活实例

    互斥共享方式:使用QQ和微信视频。同一时间段内摄像头只能分配给其中一个进程。

    同时共享方式:使用QQ发送文件A,同时使用微信发送文件B。宏观上看,两边都在同时读取并发送文件,说明两个进程都在访问硬盘资源,从中读取数据。微观上看,两个进程是交替着访问硬盘的。

在这里插入图片描述

  • 虚拟:使用某种技术把一个物理实体变成多个逻辑上的对应物。物理实体是实际存在的,而 逻辑上的对应物是用户感受到的。

    在这里插入图片描述

    • 时分复用技术(TMD,Time Division Multiplexing)

      • 虚拟处理器技术:“四核八线程”:通过多道程序设计技术,采用让多道程序并发执行的方法,分时来使用一个CPU,实际物理上只有一个CPU,但是用户感觉到有多个CPU
      • 虚拟设备技术:虚拟打印机
    • 空分复用技术(SDM,Space Division Multiplexing)

      • 虚拟磁盘技术:将一块硬盘虚拟出若干个卷
      • 虚拟存储技术

      在这里插入图片描述

      举例:

      背景知识:一个程序需要放入内存并给它分配CPU才能执行。

      在这里插入图片描述

      在这里插入图片描述

      显然,如果失去了并发性,则一个时间段内系统只需运行一道程序,那么就失去了实现虚拟性的意义了。因此,没有并发性,就谈不上虚拟性

  • 异步:多道程序环境下,允许多个程序并发执行;单机处理环境下,多个程序分时交替执行。

    举例:

    比如A进程正在占用CPU计算,B进程这时也想占用CPU计算,B进程只有等,等A进程算完了,A进程去访问磁盘资源了,这时B进程再占用CPU进行计算,B进程还没计算完,A进程从磁盘取出资源了,A进程发现B这时在占用CPU,这时A进程就需要等待,等B算完后再继续到CPU中进行计算。由于每个进程占用资源的时间不固定,所以进程的执行以不可预知的速度前进。

3. 操作系统的发展(了解)

3.1 操作系统是怎么发展过来的?

手工操作

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

批处理

在这里插入图片描述

在这里插入图片描述

分时操作

在这里插入图片描述

在这里插入图片描述

实时操作

在这里插入图片描述

在这里插入图片描述

微机时代

在这里插入图片描述

其他操作系统

在这里插入图片描述

4. 操作系统的运行环境

4.1 操作系统的运行机制(重点)

在这里插入图片描述

在这里插入图片描述

操作系统是怎么区分用户态和核心态的呢?

程序状态字—(计算机组成原理中的一个概念)一般情况下,1表示用户态,0表示内核态。

4.1.1 时钟管理

时钟是计算机中非常重要的一个硬件设备。

作用:

  • 计时:提供系统时间
  • 时钟中断:比如进程切换
4.1.2 中断机制(重点)

思维导图:

在这里插入图片描述

为什么要使用时钟中断机制?

  • 提高多道程序(并发)环境下CPU的利用率

概念

​ 发生中断,就意味着需要操作系统介入开展管理工作。CPU会立即进入核心态。

作用

​ “中断”是CPU从用户态进入核心态的唯一途径。

分类

  • 外中断:中断信号来源于–>外部设备(被迫的)

  • 内中断:中断信号来源于–>当前指令(自愿的),也叫异常/陷入/例外

    内中断的三种情况:

    1)陷阱/陷入(Trap):由应用程序主动引发,(不是产生)一般都是系统调用。

    例如,该程序执行到指令3的时候,会调用一个系统服务:读文件,这时就会产生一个中断,然后CPU会产生一个陷入指令。这个指令执行完之后,CPU从用户态切换到内核态,执行一系列读文件的操作(特权指令)。

    在这里插入图片描述

    2)故障(fault):由错误条件引发

    例如,该程序是一个大型游戏(几十G),游戏在运行的时候只加载核心程序进入到内存去执行,后面在执行的过程中若发现有些要执行的程序不存在,就会去磁盘上把这些程序文件加载进内存,这个过程就是由内存缺页中断来完成的。

    在这里插入图片描述

    3)终止(abort):由致命错误引发,比如地址越界,非法操作,算术溢出等

    中断处理过程

    在这里插入图片描述

    注:PSWR 是计算就组成原理中的一个概念,指程序状态字寄存器。

4.1.3 原语

原语:是一个程序段,由若干条指令组成(“封装”),用来完成某个特定的功能,执行过程不会被中断(“原子性”)

  • 原语其实就是对一系列指令进行的封装,它的调用比较频繁,执行时间也比较短。

  • 原语运行在内核空间。

  • 原语的底层实现是靠关中断和开中断这两个操作来实现的。

4.1.4 系统数据结构(了解)

一般只涉及到对数据结构的操作,不涉及硬件。

  • 进程管理:作业控制块、进程控制块
  • 存储器管理:存储器分配与回收
  • 设备管理:缓冲区、设备控制块
4.1.5 系统调用

思维导图:

在这里插入图片描述

基本概念

系统调用的处理运行在核心态

  • 由操作系统实现,给应用程序调用
  • 是一套接口的集合
  • 应用程序访问内核服务的方式

陷入指令也叫访管指令,管指的是核心态。操作系统从用户态进入核心态就是通过中断来实现的。

在这里插入图片描述

系统调用和库函数的区别

在这里插入图片描述

系统调用的执行过程

在这里插入图片描述

4.2 操作系统的体系结构

思维导图:

在这里插入图片描述

4.2.1 传统的操作系统内核(大内核)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

4.2.2 微内核结构

在这里插入图片描述

在这里插入图片描述

4.2.3 操作系统内核在计算机系统中的层次结构

在这里插入图片描述

4.3.3 操作系统体系结构类比

在这里插入图片描述

4.3.4 操作系统用户态和核心态的切换

在这里插入图片描述

注:以上内容参考自B站王道、马士兵操作系统课程

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
现代操作系统第四版是一本经典的操作系统教材,第三章主要讲解了进程的概念、进程控制块、进程状态以及进程调度等内容。以下是第三章的主要内容概述: 1.进程的概念:进程是程序在执行过程中分配和管理资源的基本单位,每个进程都有自己的地址空间、数据栈、指令计数器、寄存器和文件描述符等。 2.进程控制块:进程控制块是操作系统内核中用于管理进程的数据结构,包含了进程的状态、进程ID、优先级、程序计数器、寄存器、内存分配情况、打开文件列表等信息。 3.进程状态:进程状态包括运行态、就绪态、阻塞态和创建态等,进程在不同状态之间转换,操作系统根据进程状态来进行进程调度。 4.进程调度:进程调度是操作系统内核中的一个重要模块,负责决定哪个进程可以获得CPU的使用权,进程调度算法包括先来先服务、短作业优先、时间片轮转等。 5.进程同步:进程同步是指多个进程之间的协作,包括互斥、信号量、管程等机制,用于保证多个进程之间的正确性和一致性。 6.进程通信:进程通信是指多个进程之间的信息交换,包括共享内存、消息队列、管道等机制,用于实现进程之间的数据传输和共享。 以下是现代操作系统第四版第三章的相关代码示例: ```c #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <sys/types.h> #include <sys/wait.h> int main() { pid_t pid; int status; pid = fork(); if (pid < 0) { printf("Fork error\n"); exit(1); } else if (pid == 0) { printf("Child process\n"); exit(0); } else { printf("Parent process\n"); wait(&status); printf("Child exit status: %d\n", WEXITSTATUS(status)); } return 0; } ```

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值