操作系统复习总结1

操作系统复习总结,仅供笔者复习使用,参考教材:

  • 《操作系统原理》 - 何静媛编著. 西安电子科技大学出版社
  • 《操作系统考研复习指导》2024年 - 王道论坛组编. 电子工业出版社

本文主要内容为:计算机系统概述;

计算机系统概述 部分见 操作系统复习总结1;
进程与线程 部分见 操作系统复习总结2;
内存管理 部分见 操作系统复习总结3;
文件管理 部分见 操作系统复习总结4;
输入输出管理 部分见 操作系统复习总结5;

目录

  • 1. 操作系统基本概念
  • 2. 操作系统发展历程
  • 3. 操作系统运行环境
  • 4. 操作系统结构
  • 5. 操作系统引导
  • 6. 虚拟机

1. 操作系统基本概念

  • 计算机系统:硬件、操作系统、应用程序、用户;
  • 操作系统 OS:控制和管理整个计算机系统的硬件与软件资源,合理地组织、调度计算机的工作与资源的分配,进而为用户和其他软件提供方便接口与环境的程序集合;
  • 操作系统的特征:
    • 并发:操作系统能够处理和调度计算机系统中多个运行的程序同时执行;

      并发 ≠ 并行
        并发:一段时间内,宏观上有多道程序同时执行,但在每一时刻,单处理机只会执行一道程序,因为微观上这些程序是分时交替执行的。
        并行:同一时刻执行多道程序,需要相关硬件的支持,如多级流水线或多处理机。

    • 共享:系统中的资源可供内存中多个并发执行的进程共同使用。根据是否能同时使用,共享分为 互斥共享同时访问 两种方式;

    • 虚拟:把物理上实际存在的实体变为若干逻辑上的对应物,这些对应物是虚的,是用户感觉上的事物。操作系统的虚拟技术分为 时分复用技术空分复用技术

      • 虚拟处理器:通过分时使用同一个处理器让多道程序并发执行,使每个终端用户都感觉有一个 CPU 在专为其服务。因此,多道程序设计技术把一个物理上的 CPU 虚拟为多个逻辑上的 CPU,即虚拟处理器;
      • 虚拟存储器:通过将计算机的物理内存和磁盘空间相结合,提供比实际物理内存更大的地址空间供程序使用。虚拟存储器的核心思想是将程序所需的数据和指令从磁盘加载到物理内存中,并根据需要在物理内存和磁盘之间进行数据交换,使得程序能够运行并处理比物理内存更大的数据集;
      • 虚拟设备:通过创建虚拟层,将一个硬件设备虚拟化为多个逻辑设备,使多个操作系统或应用程序可以共享同一物理设备;
    • 异步:多道程序环境允许多个程序并发执行,但由于资源有限,进程的执行无法一贯到底,而是以不可预知的速度间断向前推进。与同步性(任务的执行按照确定的顺序和时间进行,一个任务执行完后才能执行下一个任务)相对,异步操作系统中任务的执行不是严格按照线性的顺序进行,而是根据任务的状态和优先级来确定执行顺序;

  • 操作系统的功能:
    • 管理系统资源:
      • 处理机管理:以进程为基本单位分配和运行处理机,还包括进程控制、进程同步、进程通信、死锁处理、处理机调度等;
      • 存储器管理:主要包括内存分配与回收、地址映射、内存保护与共享、内存扩充等功能;
      • 文件管理:主要包括文件存储空间管理、目录管理及文件读写管理等功能;
      • 设备管理:主要包括完成用户的 I/O 请求、缓冲管理、设备分配、虚拟设备等功能;
    • 提供用户接口:
      • 命令接口:用户利用命令接口提供的操作命令来组织和控制作业的执行;
      • 程序接口:开发者使用程序接口(系统调用)请求操作系统服务;
    • 扩充计算机资源:操作系统丰富了裸机的功能,使用户可以更方便的使用计算机;

2. 操作系统发展历程

  • 手工操作阶段:人工完成计算机上的所有工作,无操作系统;
  • 批处理阶段:
    • 单道批处理系统:系统按顺序逐个处理一批作业,同一时刻内存中只保持一道作业;
    • 多道批处理系统:多个程序同时进入内存并在 CPU 中交替进行,即宏观上并行,微观上串行;
  • 分时操作系统:通过分时技术将时间片轮流把处理器分配给各联机作业使用,一般用于服务器,能够保证多个用户通过终端同时共享一台主机;
  • 实时操作系统:在某个时间限制内必须完成某些紧急任务而不需要时间片排队,分为硬实时系统和软实时系统;
  • 网络操作系统:把网络中多台计算机有机结合,实现资源共享与通信;
  • 分布式计算机系统:多台地位同等的计算机并行、协同工作;
  • 个人计算机操作系统:如今广泛使用的 Windows、Linux、MacOS等;

上述操作系统都可以统称为通用操作系统,可以在各种计算设备上运行,包括个人计算机、服务器、移动设备和嵌入式系统等。它使用时间片轮转调度算法,提供了多任务支持、文件系统、设备管理、内存管理、网络支持等核心功能,旨在为用户提供统一的计算环境。

3. 操作系统运行环境

  • CPU 程序:

    • 应用程序:执行 非特权指令 只能访问用户的地址空间;
    • 内核程序:执行 特权指令 访问系统中的软硬件资源,包括一些与硬件关联密切的模块(时钟管理、中断处理、设备驱动)和运行频率较高的程序(进程管理、存储器管理、设备管理);
  • CPU 运行模式:

    • 用户态:应用程序运行在用户态,当想要执行特权指令时向操作系统请求服务,通过 系统调用接口 使用 访管指令 产生中断将操作系统切换为核心态;

    访管指令
      访管指令是一条可以在用户态下执行的指令。在用户程序中,因要求操作系统提供服务而有意识地使用访管指令,从而产生一个中断事件,将操作系统转换为核心态,称为访管中断。访管中断由访管指令产生,程序员使用访管指令向操作系统请求服务。
      处于用户态的用户程序使用访管指令时,系统根据访管指令的操作数执行访管中断处理程序,访管中断处理程序将按系统调用的操作数和参数转到相应的例行子程序。完成服务功能后,退出中断,返回到用户程序断点继续执行。

    • 核心态:操作系统内核程序运行在核心态,主要内核功能如下:
      • 时钟管理:为分时操作系统中的时间片、实时系统中的截止时间、批处理系统中的作业时间等提供时钟中断;
      • 中断机制:键盘或鼠标的输入、进程的管理和调度、系统调用、设备驱动、文件访问等;
      • 原语:操作系统底层最接近硬件部分可被调用的公用小程序,运行具有原子性,操作一气呵成,不可分割;
      • 系统控制的数据结构:进程管理、存储器管理和设备管理等;
  • 中断和异常:处于用户态的 CPU 可以通过中断或异常进入核心态:

    • 中断:也叫外中断,通常用于设备输入/输出处理或时间片走完;
    • 异常:也叫内中断,通常是来自 CPU 内部的事件,分为 故障自陷终止
      • 故障:指令执行异常,如非法操作码、缺页故障、除 0、运算溢出等;
      • 自陷:用户态执行系统调用时执行自陷指令;
      • 终止:CPU 无法继续执行,如控制器出错、存储器校验错等;
  • 系统调用:用户程序想要调用操作系统提供的一些子功能时执行自陷指令,把 CPU 的使用权交给操作系统内核程序,CPU 进入内核态,操作系统内核程序再对系统调用请求作相应处理;
    在这里插入图片描述

4. 操作系统结构

  • 分层法:每层只调用紧邻它的低层的功能和服务;
    在这里插入图片描述

  • 模块 - 接口法:将操作系统功能划分为若干具有一定独立性的模块,通过 内聚性耦合度 衡量模块的独立性;
    在这里插入图片描述

  • 宏内核:将操作系统的主要功能模块都作为一个紧密联系的整体运行在核心态,从而为用户程序提供高性能的系统服务;

  • 微内核:将内核最基本的功能保留在内核,其余不需要在核心态执行的功能移到用户态执行,从而降低内核的设计复杂性。微内核结构的操作系统使用 足够小的内核,基于 客户 / 服务器方式,应用 “机制与策略分离” 原理,采用 面向对象 技术进行设计。

5. 操作系统引导

操作系统是一种程序,以数据的形式存放在硬盘中。操作系统引导就是计算机利用 CPU 运行特定程序,通过程序识别硬盘及其分区上的操作系统,最后通过程序启动操作系统。该过程如下:

  1. 激活 CPU 读取 ROM 中的 boot 程序,将指令寄存器置为 BIOS 的第一条指令并开始执行;
  2. 硬件自检,如有故障,主板会发出蜂鸣,启动停止;若无故障,屏幕会显示 CPU、内存、硬盘等信息;
  3. 加载带有操作系统的硬盘和主引导记录 MBR;
  4. 扫描硬盘分区表并加载硬盘活动分区;
  5. 加载分区引导记录 PBR;
  6. 在 PBR 中扫描并启动活动分区中的启动管理器;
  7. 加载操作系统;

6. 虚拟机

虚拟机是指利用虚拟化技术,通过隐藏计算机的实际物理特性,为用户提供抽象、统一的模拟计算环境的逻辑计算机。

  • 第一类虚拟机管理程序:运行在 裸机 上并具备多道程序功能,向上层提供若干裸机环境,每个裸机可以运行各自的操作系统;
  • 第二类虚拟机管理程序:依赖宿主操作系统,就像一个普通的进程,运行客户操作系统;
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/61903.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

String类及其工具类

一、String类 1.字符串对象 String str new String("hello");String对象是final修饰的,不可修改的,修改后的字符串对象是另外一个对象,只是修改了引用地址。每次创建都会创建一个新的对象。 2. 字面量 String s "hello&…

首批获得金融级行业云平台认证,天翼云深耕行业云

云计算下半场看什么? 无疑是金融、政务、制造等传统政企用户的上云与用云。随着数字经济发展和产业数字化的提速,上云已是政企用户推动其数字化转型不断深入的重要抓手,成为不可阻挡的趋势。 与互联网用户相比,政企用户上云极为…

uni-app——下拉框多选

一、组件components/my-selectCheckbox.vue <template><view class"uni-stat__select"><span v-if"label" class"uni-label-text">{{label &#xff1a;}}</span><view class"uni-stat-box" :class"…

mediasoup Lite ICE实现说明

目录 一. 前言 二. Lite ICE流程 三. STUN协议说明 STUN Header STUN Body 四. mediasoup Lite ICE实现源码剖析 一. 前言 ICE 是一种交互式建立连接的流程协议。ICE 有两种模式&#xff08;Full ICE 和 Lite ICE&#xff09;&#xff0c;Full ICE 要求建立连接的双方都要…

ruoyi若依 组织架构设计--[ 角色管理 ]

ruoyi若依 组织架构设计--[ 角色管理 ] 角色新增后端代码 角色修改后端代码 角色查询角色删除角色分配数据权限后端代码 角色分配用户 角色新增 后端代码 有一点&#xff0c;我认为新增的时候&#xff0c;也需要修改redis中的权限。 角色修改 后端代码 因为修改了role_menu表了…

坚鹏:中国邮储银行金融科技前沿技术发展与应用场景第2期培训

中国邮政储蓄银行金融科技前沿技术发展与应用场景第2期培训圆满结束 中国邮政储蓄银行拥有优良的资产质量和显著的成长潜力&#xff0c;是中国领先的大型零售银行。2016年9月在香港联交所挂牌上市&#xff0c;2019年12月在上交所挂牌上市。中国邮政储蓄银行拥有近4万个营业网点…

hcip——期中小试

要求&#xff1a; 1、该拓扑为公司网络&#xff0c;其中包括公司总部、公司分部以及公司骨干网&#xff0c;不包含运营商公网部分。 2 、设备名称均使用拓扑上名称改名&#xff0c;并且区分大小写。 3 、整张拓扑均使用私网地址进行配置。 4 、整张网络中&#xff0c;运行 O…

Unity Sort Group(排序组)

** Unity 中的Sort Group组组件允许让Sprite Renderer(精灵渲染器)重新决定渲染顺序. ** 作为组件存在 组件内容&#xff1a; Unity 使用Sort Group 组件的Sort layer 和Order in layer的值来确定排序组在渲染队列内相对与场景内其他排序组和游戏对象的优先级。 属性功能So…

最新2024届【海康威视】内推码【GTK3B6】

最新2024届【海康威视】内推码【GTK3B6】 【内推码使用方法】 1.请学弟学妹们登录校招官网&#xff0c;选择岗位投递简历&#xff1b; 2.投递过程中填写内推码完成内推步骤&#xff0c;即可获得内推特权。 内推码&#xff1a;GTK3B6 内推码&#xff1a;GTK3B6 内推码&…

【Python】基础数据结构:列表——元组——字典——集合

文章目录 一、简述二、Python中的列表详解2.1 创建列表2.2 访问列表元素2.3 修改列表元素2.4 列表切片2.5 列表方法2.6 列表推导式 三、Python中的元组详解3.1 创建元组3.2 访问元组元素3.3 元组是不可变的3.4 元组切片3.5 元组方法 四、Python中的字典详解4.1 创建字典4.2 访问…

ES6基础知识十:你是怎么理解ES6中 Decorator 的?使用场景?

一、介绍 Decorator&#xff0c;即装饰器&#xff0c;从名字上很容易让我们联想到装饰者模式 简单来讲&#xff0c;装饰者模式就是一种在不改变原类和使用继承的情况下&#xff0c;动态地扩展对象功能的设计理论。 ES6中Decorator功能亦如此&#xff0c;其本质也不是什么高大…

避免安装这5种软件,手机广告频繁弹窗且性能下降

在我们使用手机的日常生活中&#xff0c;选择合适的应用软件对于保持良好的使用体验至关重要。然而&#xff0c;有些软件可能会给我们带来不必要的麻烦和困扰。特别是那些频繁弹窗广告、导致手机性能下降的应用程序&#xff0c;我们应该尽量避免安装它们。 首先第一种&#xf…

VR实景导航——开启3D可视化实景导航新体验

数字化时代&#xff0c;我们大家出门在外都是离不开各种导航软件&#xff0c;人们对导航的需求也越来越高&#xff0c;而传统的导航软件由于精度不够&#xff0c;无法满足人们对真实场景的需求&#xff0c;这个时候就需要VR实景导航为我们实景指引目的地的所在。 VR实景导航以其…

【数理知识】协方差,随机变量的的协方差,随机变量分别是单个数字和向量时的协方差

序号内容1【数理知识】自由度 degree of freedom 及自由度的计算方法2【数理知识】刚体 rigid body 及刚体的运动3【数理知识】刚体基本运动&#xff0c;平动&#xff0c;转动4【数理知识】向量数乘&#xff0c;内积&#xff0c;外积&#xff0c;matlab代码实现5【数理知识】协…

使用WebMvcConfigurationSupport后导致原来返回的json数据变为了xml的解决方法

问题 未使用WebMvcConfigurationSupport拦截时返回的数据都是JSON格式&#xff0c;使用WebMvcConfigurationSupport做拦截后数据的返回变为了XML的格式。 原因 在Spring框架中&#xff0c;WebMvcConfigurationSupport 是一个类&#xff0c;它可以用于自定义Spring MVC的配置…

P1833 樱花(多重背包)(内附封面)

樱花 题目背景 《爱与愁的故事第四弹plant》第一章。 题目描述 爱与愁大神后院里种了 n n n 棵樱花树&#xff0c;每棵都有美学值 C i ( 0 ≤ C i ≤ 200 ) C_i(0 \le C_i \le 200) Ci​(0≤Ci​≤200)。爱与愁大神在每天上学前都会来赏花。爱与愁大神可是生物学霸&#…

代码分析:循环创建N个子进程——为什么最后一个属于父进程?

黑马C/C 2018年32期代码分析 //循环创建n个子进程 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/types.h> #include <unistd.h>int main() {int i 0;for(i0; i<3; i){//创建子进程pid_t pid fork();if(pid&…

Qt实现可伸缩的侧边工具栏(鼠标悬浮控制伸缩栏)

Qt实现可伸缩的侧边工具栏 一直在网上找&#xff0c;发现大多的实现方案都是用一个按钮&#xff0c;按下控制侧边栏的伸缩&#xff0c;但是我想要实现鼠标悬浮在侧边栏的时候就伸出&#xff0c;移开就收缩的功能&#xff0c;也没找到好的参考&#xff0c;所以决定自己实现一个…

QT中使用ffmpeg的api进行视频的播放

在了解ffmpeg使用api进行视频的播放之前&#xff0c;我们首先了解一下视频的播放流程。 一、视频的播放流程 首先是我们最常见的视频文件&#xff0c;在播放流程中首先是要打开视频文件&#xff0c;将视频文件中的数据进行解封装&#xff0c;之后再将解封装之后的视频进行解码…

【LeetCode】287. 寻找重复数

287 . 寻找重复数&#xff08;中等&#xff09; 方法 快慢指针 思路 要解决这道题首先要理解如何将输入的数组看作为链表。对于数组 nums 中的数字范围在 [1, n]&#xff0c;考虑两种情况&#xff1a; 如果数组中没有重复的数字&#xff0c;以 [1, 3, 4, 2] 为例&#xff0c;将…