操作系统发展史和常见习题汇总

操作系统发展史和常见习题汇总

文章目录

  • 操作系统发展史和常见习题汇总
    • 一、前言
    • 二、OS结构和发展史
      • [2.1 OS结构](#2.1 OS结构)
        • [2.1.1 单体系统](#2.1.1 单体系统)
        • [2.1.2 分层系统](#2.1.2 分层系统)
        • [2.1.3 微内核](#2.1.3 微内核)
        • [2.1.4 客户-服务器模型](#2.1.4 客户-服务器模型)
      • [2.2 OS启动流程](#2.2 OS启动流程)
      • [2.3 OS发展史](#2.3 OS发展史)
        • [2.3.1 手工操作阶段](#2.3.1 手工操作阶段)
        • [2.3.2 批处理阶段](#2.3.2 批处理阶段)
        • [2.3.3 分时操作阶段](#2.3.3 分时操作阶段)
        • [2.3.4 实时操作阶段](#2.3.4 实时操作阶段)
    • 三、习题
    • 四、小结

一、前言

这是关于操作系统最后一次有关总览的内容,主要介绍:OS结构、流程、发展史,以及几个习题练练手~

二、OS结构和发展史

2.1 OS结构

OS本身就是一个软件,组织架构是:单个/多个程序?

目的:设计操作系统不是为了取代Windows等微机系统,主要是应用于某些嵌入式场合,类似于新能源汽车等。

2.1.1 单体系统

整个操作系统是一个程序 ,将各种组件统统维护成一个组件,设计时分成了3个层,如下图:

使用很少,维护不方便,提出了模块化设计,也算是一种进步

2.1.2 分层系统

系统结构分得比较复杂,使用较少,层次结构,PC没有用到

2.1.3 微内核

主要模型:内核-用户,方便用户管理,使用多,PC用的较多,新能源汽车用的多

核心在于其分层模型

2.1.4 客户-服务器模型

和网络编程很像

例如:网吧中的无盘工作站,电脑不需要专门的CPU、磁盘等,会有一个专门的中心服务器来下发任务。

2.2 OS启动流程

OS是管理硬件的,因此不同硬件的启动流程不一样,操作系统是根据不同的体系结构来进行它的启动行为。

boot loader:Uboot(ARM)、BIOS(x86)

CPU上电,必然要触发reset异常,reset异常会被CPU厂家固化到一个固定的位置去执行程序(软件做不到),之后就可以启动程序(boot loader)。

boot loader:最先运行的一小段程序------引导加载程序,负责初始化硬件,和用户交互,将OS内核镜像文件加载到ram,加载操作系统内核。

操作系统存储在一个介质 上,就需要把它从一个介质中读到内存中,最终所有的程序都要在内存中运行,就是loader将其加到内存上,这就需要对介质做驱动(初始化硬件)。

操作系统启动需要启动参数,启动参数(arm:固化在Uboot,x86:配置分区告诉boot loader如何找到镜像),操作系统内核提供的是机制,还需要策略,规划要做什么,策略由应用程序来做,应用程序可以存在磁盘、ram、RFS(网吧)上,这就是根文件系统,加载根文件系统,然后运行应用程序和用户进行交互。

2.3 OS发展史

2.3.1 手工操作阶段

没有软件,都是人来搬运,计算机的空闲率很高

2.3.2 批处理阶段

实现作业的运转

  • 单道批处理

    一个CPU,内存上只能存放一道作业(独占CPU),由一个监督程序来进行管理,解放了人类。

  • 多道批处理

    内存上可以存放若干个作业,正在执行的作业因I/O等原因而暂停时(CPU没有主动权),可以马上调度另一道作业而执行,人机交互较麻烦

    不是定时的

    服务器上应用较多

2.3.3 分时操作阶段

将计算机资源以时间片为单位,为多个作业服务(抢占CPU),分时是中断的一种------定时器发生中断。

优点:可以即时响应,解决人机交互问题

2.3.4 实时操作阶段

紧急作业不需要时间片排队,系统接收外部信号可及时处理

三、习题

解析:

T1. 最重要的当属操作系统了,A✔

T2. 用户角度只能是和用户相关,A✔,其他选择本身是对的(不合题意罢了)

T3. A、BIOS是CPU启动时运行的第一个程序 ,和OS没有任何关系

B、ROM,只读存储器,只能写一次,ROM上只能放一些永远不能改的东西,但是flash(闪存)可读可写,但是很慢

C、EPROM,本身是EEPROM,可以擦除重写,等价于flash,但是擦除超级超级慢,只存一些小的数据,容量非常小

D、✔ 选D

T4. 选A。

虚拟化,就是隐藏起来,加一层就能做到。关键词:逻辑

T5. I ✔

II 开销是大的

III 多道,吞吐量大✔

IV 多道,可以充分利用✔ 选D

解析:

T6. 凡是多个东西,必然有打断,OS核心也是中断,B✔

T7. A "都在"是❌,单体系统就是"用户态"

B 时间片越小,切换频率越高,总是被打断,这不是很好

C 批处理分很多种,缺点很多,交互性是一种✔

D DOS是一个单用户单任务

T8. B✔

解析:

T9. I 交互❌

II ✔

III ✔ A✔

T10. 关键词:交互,C✔

T11. 分时:快速响应,B✔

解析:

T12. 实时:必须在规定时间内把事情做完

I ✔

II 办公不需要

III 机床规定时间内把零件做完✔

IV AutoCAD主要用于二维绘图和三维建模,不需要实时

V 工资也不需要

VI 股票需要✔ D✔

T13. I 多任务没有具体来说,因此并发和并行都可以✔

II 只要是多任务都涉及到共享保护

III 多CPU不是一定要有 C✔

解析:

T14. 并发,是同一时间间隔内,C✔

T15. 进程就是抽象处理机的,进程和进程是不能并行的,其他可以,D✔

T16. 中断是不知道什么时候被打断,但是子程序调用是已知的,不需要保存状态,B✔

T17. 核心:内部异常是主动发生的,中断是被动发生的

A、✔

B、指令是CPU来做的✔

C、只有执行了,才知道做了这个事情✔

D、这条指令执行不了了,如果再回去,就会又发生异常❌所有陷阱就理解为软中断

解析:

T18. A、访问了才发现缺页,因此是异常,选A

B、整数除以0,主动发生的✔

C、DMA可以理解为网卡,它什么时候传程序是不知道的,干完活才会通知,属于中断✔

D、"存储保护错",表示我知道做什么事,但是做不了,属于异常✔

T19. 中断不知道什么时候发生,需要保护现场,硬件保护一部分,OS保护一部分

A、硬件来管

B、硬件保护太慢,因此交给OS,可以保存,可以不保存

C、D不用保护

T20. 敲键盘是不知道什么敲的,靠OS中的驱动获取键盘的东西,因此是中断,B✔

解析:

T21. I 更新内核里的时间片✔

II ✔

III ✔ D✔

T22. 用户态->内核态说明产生了系统调用

I 除以0属于异常✔

II 只是计算函数,不需要获取资源之类,不是系统调用

III read只是系统调用,会陷入内核驱动,读取驱动中的read B✔

解析:

T23. B✔

T24. A✔

T25. I ✔

II ✔

III 传的不是文件名称,而是文件描述符 A✔

T26. 系统调用是异常,先有参数,再执行。C✔

解析:

T27. I ✔

II 保护外设的访问行为✔

III 不同的操作系统,系统调用不同,接口不同❌

IV ✔ C✔

四、小结

操作系统的难点在于有很多的概念,相信在后面逐章的分析中,整个框架最逐渐清晰起来的。

本篇就是最后一篇总览,后面就开始分别详细解释啦~

相关推荐
清风66666621 小时前
基于单片机的智能感应式汽车雨刮器控制系统设计
单片机·嵌入式硬件·汽车·毕业设计·课程设计·期末大作业
普中科技1 天前
【普中51单片机开发攻略--基于普中-2&普中-3&普中-4】-- 第 15 章 IO 扩展(串转并)-74HC595
单片机·嵌入式硬件·51单片机·开发板·74hc595·普中科技
RaLi和夕1 天前
硬件电路设计学习笔记3.比较器
笔记·嵌入式硬件·学习
manduic1 天前
雅特力科技AT32WB415实现高性能MCU设计
科技·单片机·嵌入式硬件·雅特力
一路往蓝-Anbo1 天前
STM32单线串口通讯实战(一):物理层拓扑与STM32G0硬件配置
c语言·开发语言·stm32·单片机·嵌入式硬件·物联网
橘色的喵1 天前
嵌入式 ARM Linux 平台高性能无锁异步日志系统设计与实现
linux·arm开发·cache line·ring buffer
Hello_wshuo1 天前
记RP2040使用Arduino+platformio开发配置
linux·嵌入式硬件·arduino
RaLi和夕1 天前
硬件电路设计学习笔记2.三极管基极为什么要加上下拉电阻?以及三级管的最大耐压
笔记·嵌入式硬件·学习
Neil今天也要学习1 天前
永磁同步电机无速度算法--共振扩张状态观测器统一全速域无位置传感器控制
单片机·嵌入式硬件·算法