操作系统复习总结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. 虚拟机

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python-Excel数据模型文档转为MySQL数据库建表语句(需要连接数据库)-工作小记

将指定Excel文档转为create table 建表语句。该脚本适用于单一且简单的建表语句 呈现效果 代码 # -*- coding:utf-8 -*- # Time : 2023/8/2 17:50 # Author: 水兵没月 # File : excel_2_mysql建表语句.py import reimport pandas as pd import mysql.connectordb 库名mydb m…

【JavaSE】面向对象编程思想之多态(图文详解)

目录 1. 多态的概念 2. 多态实现条件 3. 重写 4. 向上转型和向下转型 4.1 向上转型 4.2 向下转型 5. 多态的优缺点 6. 避免在构造方法中调用重写的方法 1. 多态的概念 多态的概念:通俗来说,就是多种形态,具体点就是去完成某个行为&a…

mysql8查看执行sql历史日志、慢sql历史日志,配置开启sql历史日志general_log、慢sql历史日志slow_query_log

0.本博客sql总结 -- 1.查看参数 -- 1.1.sql日志和慢sql日志输出方式(TABLE/FILE)。global参数 SHOW GLOBAL VARIABLES LIKE log_output; -- 1.2.sql日志开关。global参数 SHOW GLOBAL VARIABLES LIKE general_log%; -- 1.3.慢sql日志开关。global参数 SHOW GLOBAL VARIABLE…

freeswitch的mod_xml_curl模块动态获取dialplan

概述 freeswitch是一款简单好用的VOIP开源软交换平台。 mod_xml_curl模块支持从web服务获取xml配置,本文介绍如何动态获取dialplan配置。 环境 centos:CentOS release 7.0 (Final)或以上版本 freeswitch:v1.6.20 GCC:4.8.5…

召唤神龙打造自己的ChatGPT

在之前的两篇文章中,我介绍了GPT 1和2的模型,并分别用Tensorflow和Pytorch来实现了模型的训练。具体可以见以下文章链接: 1. 基于Tensorflow来重现GPT v1模型_gzroy的博客-CSDN博客 2. 花费7元训练自己的GPT 2模型_gzroy的博客-CSDN博客 有…

基于SpringBoot+Vue的地方美食分享网站设计与实现(源码+LW+部署文档等)

博主介绍: 大家好,我是一名在Java圈混迹十余年的程序员,精通Java编程语言,同时也熟练掌握微信小程序、Python和Android等技术,能够为大家提供全方位的技术支持和交流。 我擅长在JavaWeb、SSH、SSM、SpringBoot等框架…

0805hw

1. #include <myhead.h> void Bub_sort(int *arr,int n)//冒泡排序 {for(int i1;i<n;i){int count0;for(int j0;j<n-i;j){if(arr[j]>arr[j1]){int temparr[j];arr[j]arr[j1];arr[j1]temp;count;}}if(count0){break;}}printf("冒泡排序后输出结果:\n"…

怎么修改pdf文件中的文字?分享几种编辑方法

怎么修改pdf文件中的文字&#xff1f;PDF格式的文件通常具有很高的可读性和稳定性&#xff0c;但是如果需要修改其中的文字&#xff0c;就需要使用专门的PDF编辑器。本文将介绍几种PDF编辑的方法&#xff0c;下面就跟着我一起来看看这几款工具吧。 方法一&#xff1a;使用迅捷P…

聊聊 Docker 和 Dockerfile

目录 一、前言 二、了解Dockerfile 三、Dockerfile 指令 四、多阶段构建 五、Dockerfile 高级用法 六、小结 一、前言 对于开发人员来说&#xff0c;会Docker而不知道Dockerfile等于不会Docker&#xff0c;上一篇文章带大家学习了Docker的基本使用方法&#xff1a;《一文…

JSP实训项目设计报告—MVC简易购物商城

JSP实训项目设计报告—MVC简易购物商城 文章目录 JSP实训项目设计报告—MVC简易购物商城设计目的设计要求设计思路系统要求单点登录模块商品展示模块购物车展示模块 概要设计Model层View层Controller层 详细设计Model层View层登录界面系统主界面 Controller层 系统运行效果项目…

入侵检测-IDS

1. 什么是IDS&#xff1f; IDS&#xff08;intrusion detection system&#xff09;入侵检测系统&#xff0c;是一种对网络传输进行即时监视&#xff0c;在发现可疑传输时发出警报或者采取主动反应措施的网络安全设备。它会对系统的运行状态进行监视&#xff0c;发现各种攻击企…

【c语言】-- 结构体

&#x1f4d5;博主介绍&#xff1a;目前大一正在学习c语言&#xff0c;数据结构&#xff0c;计算机网络。 c语言学习&#xff0c;是为了更好的学习其他的编程语言&#xff0c;C语言是母体语言&#xff0c;是人机交互接近底层的桥梁。 本章来学习结构体。 让我们开启c语言学习之…