『基础』OS-1计算机系统概述_操作系统发展历程及它的运行环境

本文主要是介绍『基础』OS-1计算机系统概述_操作系统发展历程及它的运行环境,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

操作系统发展历程

常考的三种操作系统对比

批操作系统脱机使用计算机;作业是分批处理的;系统内多道程序并发执行;交互能力差
分时操作系统多个用户同时使用计算机;人机交互强;具有每个用户独立使用计算机的独占性;系统响应及时
实时操作系统能对控制对象做出及时反应;可靠性高;响应及时;但资源利用率低

其它操作系统对比

  • Unix 系统是多用户,多任务操作系统,属于分时操作系统

  • 单道批处理缺点:只调入一个进程去内存
  • 多道批处理缺点:无人机交互能力

小节选择题答案

序号1234567891011121314
答案DDCADBDCCBCBBACDC
序号151617181920
答案BDBDCD

错题序号汇总:3、4、5、8、14、16、17、

错题解析

  • 多道程序设计的基本特征是:制约性、间断性、共享性,没有顺序性
  • 多道批处理是多用户多任务,单道批处理是单用户单任务,是没有多任务系统和多用户系统的说法的
  • 资源利用率是多道批处理追求的目标
  1. B
  • A 选项:一个机器周期=CPU 周期,时钟周期也叫 CPU 时钟周期,也叫节拍
  • B 选项:实时操作系统必须在被控制对象规定时间内处理来自外部的事件
  • C 选项:周转世家是指一个进程从提交到完成的时间
  • D 选项:时间片是用与分时操作系统
  1. 关于分时系统:A
  • 分时系统用于交互作业,而不是批处理作业
  • 分时系统中每个任务依次轮流使用时间片
  • 分时系统的响应时间好
  • 分时系统是一种多用户操作系统
  1. B
  • 多处理器操作系统可以使多个进程并行执行
  • 批处理系统和实时系统并不是真正意义上的并行执行
  1. C
  • 引入多道程序技术的前提条件之一是系统具有中断功能
  • 终端在分时系统中出现
  1. A
  • 关于批处理系统的叙述:
    • 批处理系统分为单道批处理系统和多道批处理系统
    • 中断技术使得多道批处理系统的 I/O 设备与 CPU 并行工作

操作系统的运行环境

处理器运行的机制

  • CPU 执行一条指令前就能判断出其类型(特权指令/非特权指令)
  • 如何区分内核态和用户态:CPU 中有一个寄存器叫程序状态寄存器(PSW),其中有个二进制位,1 表示“内核态”,0 表示“用户态”
  • 两类程序、两类指令、两种处理器状态关系
  • 在内核态,CPU 既可以执行特权指令和非特权指令,在用户态只可以执行非特权指令
特权指令非特权指令
I/O 指令数据传送类指令(取数、存数指令)
关中断指令读时钟指令
内存清零指令加减乘除等算术运算类指令
存取用于内存保护的寄存器寄存器清零指令
送 PSW 到程序状态字寄存器压栈/弹栈指令(Push/Pop)
停机指令跳转指令(转移指令–>jump 指令)
置时钟指令(写时钟指令)trap 指令=陷入指令=自陷指令=访管指令
广义指令(系统调用)

内核的功能

内核是 OS 最重要最核心的部分,也是最接近硬件的部分

  • 时钟管理:实现计时功能
  • 中断处理:负责实现中断机制
  • 设备管理:完成设备的请求和释放,以及设备启动等功能
  • 文件管理:完成文件的读、写,创建和删除等功能
  • 进程管理:完成进程的创建,撤销,阻塞及唤醒功能
  • 进程通信:完成进程之间的信息传递或信号传递等功能
  • 内存管理:完成内存的分配,回收以及获取作业占用内存区分大小及地址等功能
  • 原语:
    • 是一种特殊的程序
    • 处于操作系统最底层,是最接近硬件的部分
    • 该程序运行具有原子性(运行只能一气呵成,不可中断)
    • 运行时间较短,调用频繁

中断的作用

  • CPU 上会运行两种程序,一种是操作系统内核程序(是整个系统的管理者),一种是应用程序
  • 在合适的情况下,操作系统内核会把 CPU 的使用权主动让给应用程序(第二章进程管理相关内容)
  • “中断”是让操作系统内核夺回 CPU 使用权的唯一途径
  • “中断”会使 CPU 由用户态变为内核态,使操作系统重新夺回对 CPU 的控制权

外中断和内中断(异常和中断控制【结合 OS 学习】)

  • 内中断:若当前执行的指令是非法的,则会引发一个中断信号
  • 内中断的分类,故障、自陷、终止都属于硬件中断
  • 访问主存时发生的校验错误属于外中断
  • 内中断故障:除表格内容外,还有存储保护错,访问超时都属于故障
  • 内中断终止:除表格内容外,还有总线错属于终止

中断机制的基本原理

不同的中断信号,需要用不同的中断处理程序来处理
当 CPU 检测到中断信号后,会根据中断信号的类型去查询“中断向量表”,以此来找到相应的中断处理程序在内存中的存放位置
中断处理程序一定是内核程序,需要运行在“内核态”

系统调用【又叫广义指令】

  • 陷入指令是非特权指令

什么功能要用到系统调用

应用程序通过系统调用请求操作系统的服务。而系统种的各种共享资源都由操作系统内核统一掌管,因此凡是与共享资源有关的操作(如存储分配、I/O 操作、文件管理等),都必须通过系统调用的方式向操作系统内核提出服务请求,由操作系统内核代为完成。这样可以保证系统的稳定性和安全性,防止用户进行非法操作

有哪些用到了系统调用?

  1. 进行文件操作,系统调用有 open 系统调用,close 系统调用,read、write 等
  2. 进行进程控制,fork 系统调用(保存当前进程情况,创建一个新进程),在内核态完成,exit 系统调用(结束并推出当前进程)

有哪些会从用户态–>内核态

  1. 用户程序要求操作系统的服务,即系统调用(比如:整数除以零,read 系统调用)
  2. 发生一次中断,–>由 OS 内核处理中断
  3. 用户程序中产生了一个错误状态,–>引发异常,由 OS 内核处理
  4. 用户程序中企图执行一条特权指令

有哪些会从内核态–>用户态

  1. 中断返回指令,ret 指令(特权指令,在内核态下执行)
  2. 将 PSW 中模式切换位为 1

小节选择题答案

答案12345678910111213
序号DCACDDCDDAAAC
序号14151617181920212223242526
答案DDDCACBAACCBD
序号272829303132333435363738
答案BDDCADBBCCBD

22-38 为真题

错题题号汇总:1、3、8、9、10、14、17、24、28、29、31、32、33、38

错题解析

  1. 关于操作系统的说法:—B
  • 在通用操作系统管理下的计算机上运行程序,不需要向操作系统预订运行时间,会自主使用时间片轮转的方式让用户使用
  • 在通用操作系统管理下的计算机上运行程序,需要确定起始地址,并从这个地址开始执行
  • 高级程序设计语言的编译器是 OS 之上的上层软件,是用户(程序员)在 OS 之上手动配置以及安装的,操作系统不提供
  • 管理计算机系统资源(硬件和软件)是操作系统关心的主要问题
  • 特权指令只能在内核态中由操作系统使用
  • 操作系统通过提供系统调用避免用户程序直接访问外设 (对应 31 题)
  • 系统调用是操作系统内核为应用程序提供服务的接口

  • 批处理不需要大量内存(批处理出现时间太早,没有那么大需求)
  • 当计算机提供了核心态和用户态时,输入/输出指令必须在核心态下执行。(输入/输出指令为特权指令)
  • 提供操作系统与外部设备的可靠性主要是在实时操作系统中体现
  • 操作系统中,通道技术是一种硬件技术,通道本身是一种硬件
  1. 关于系统调用的说法:–C
  • 屏蔽中断指令主要用在改变设备优先级中,在系统优先级中,没有用到
  • 用户程序使用系统调用命令,该命令经过编译后形成若干参数和陷入指令
  • 用户程序创建一个新进程,需使用操作系统提供的系统调用接口(fork 系统)
  • 当操作系统完成用户请求的系统调用功能后,应使 CPU 从内核态转到用户态
  • 系统调用是 OS 内核为用户程序提供的接口(程序接口),【反栗】页置换–分页管理,进程调度–操作系统,生成随机整数是库函数调用,不是系统调用
  1. A
  • 计算机区分核心态和用户态指令后,从核心态到用户态的转换是由操作系统程序执行后完成的,而用户态到核心态的转换是由硬件决定的
  1. C
  • 可在用户态执行的指令是:修改内存单元的值,修改的是用户空间内的单元值
  1. B
  • 在操作系统中,只能在核心态下运行的指令是置时钟指令
  1. C
  • 在操作系统中,只能在核心态下执行的指令是系统调用命令
  1. CPU 处于核心态时,可以执行的指令是:除"访管"指令的全部指令

  2. 操作系统内核程序可以执行特权指令,但不会执行访管指令

执行系统调用在核心态,引入系统调用是在用户态

  1. B
  • 中断处理和子程序调用都需要压栈,以便保护现场,中断处理(意味着发生程序计数器、程序状态寄存器发生)一定会保存而子程序调用不需要保存其内容的是:程序状态寄存器发生 PSW,中断处理需要保存的是发生程序计数器、程序状态寄存器发生 PSW,通用数据寄存器,可能需要保存通用数据寄存器、通用地址寄存器
  1. B
  • 处理外部中断时,应该由操作系统保存的是:通用寄存器的内容
  • 程序计数器 (PC)的内容是硬件保存
  • 块表 (TLB)、Cache中的内容不保存也可以
  1. C #todo暂未理解
  • 软中断和硬中断:软中断执行中断指令有关,与执行指令有关,其实就是内中断,硬中断由外部引起,具有随机性,由硬件结构决定,相当于外中断
  • INT 是陷入指令,引发系统调用,发生异常
  1. 有关内中断(异常)和外中断(中断),异常由内部引起,中断由外部导致。—A

  2. D

  3. D

  • 与中断相关的操作中,由操作系统完成的是:提供中断服务、初始化中断向量表、保存中断屏蔽字;保存被中断程序的中断点是由硬件完成
  • 中断处理是在内核态下,中断响应是在用户态
  1. B
  • 保存断点和程序状态字–>硬件完成
  • 保存通用寄存器内容、执行系统调用服务例程,在内核下执行,–>操作系统完成
  • 将 CPU 模式改为内核态–>硬件完成
  1. 在操作系统内核中,中断向量表适合采用的数据结构是数组

这篇关于『基础』OS-1计算机系统概述_操作系统发展历程及它的运行环境的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1094977

相关文章

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

从基础到高级详解Python数值格式化输出的完全指南

《从基础到高级详解Python数值格式化输出的完全指南》在数据分析、金融计算和科学报告领域,数值格式化是提升可读性和专业性的关键技术,本文将深入解析Python中数值格式化输出的相关方法,感兴趣的小伙... 目录引言:数值格式化的核心价值一、基础格式化方法1.1 三种核心格式化方式对比1.2 基础格式化示例

redis-sentinel基础概念及部署流程

《redis-sentinel基础概念及部署流程》RedisSentinel是Redis的高可用解决方案,通过监控主从节点、自动故障转移、通知机制及配置提供,实现集群故障恢复与服务持续可用,核心组件包... 目录一. 引言二. 核心功能三. 核心组件四. 故障转移流程五. 服务部署六. sentinel部署

从基础到进阶详解Python条件判断的实用指南

《从基础到进阶详解Python条件判断的实用指南》本文将通过15个实战案例,带你大家掌握条件判断的核心技巧,并从基础语法到高级应用一网打尽,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录​引言:条件判断为何如此重要一、基础语法:三行代码构建决策系统二、多条件分支:elif的魔法三、

Python WebSockets 库从基础到实战使用举例

《PythonWebSockets库从基础到实战使用举例》WebSocket是一种全双工、持久化的网络通信协议,适用于需要低延迟的应用,如实时聊天、股票行情推送、在线协作、多人游戏等,本文给大家介... 目录1. 引言2. 为什么使用 WebSocket?3. 安装 WebSockets 库4. 使用 We

从基础到高阶详解Python多态实战应用指南

《从基础到高阶详解Python多态实战应用指南》这篇文章主要从基础到高阶为大家详细介绍Python中多态的相关应用与技巧,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、多态的本质:python的“鸭子类型”哲学二、多态的三大实战场景场景1:数据处理管道——统一处理不同数据格式

MySQL数据类型与表操作全指南( 从基础到高级实践)

《MySQL数据类型与表操作全指南(从基础到高级实践)》本文详解MySQL数据类型分类(数值、日期/时间、字符串)及表操作(创建、修改、维护),涵盖优化技巧如数据类型选择、备份、分区,强调规范设计与... 目录mysql数据类型详解数值类型日期时间类型字符串类型表操作全解析创建表修改表结构添加列修改列删除列

Java 与 LibreOffice 集成开发指南(环境搭建及代码示例)

《Java与LibreOffice集成开发指南(环境搭建及代码示例)》本文介绍Java与LibreOffice的集成方法,涵盖环境配置、API调用、文档转换、UNO桥接及REST接口等技术,提供... 目录1. 引言2. 环境搭建2.1 安装 LibreOffice2.2 配置 Java 开发环境2.3 配

Python 函数详解:从基础语法到高级使用技巧

《Python函数详解:从基础语法到高级使用技巧》本文基于实例代码,全面讲解Python函数的定义、参数传递、变量作用域及类型标注等知识点,帮助初学者快速掌握函数的使用技巧,感兴趣的朋友跟随小编一起... 目录一、函数的基本概念与作用二、函数的定义与调用1. 无参函数2. 带参函数3. 带返回值的函数4.