操作系统学习笔记---计算机系统概述

发布于:2023-09-14 ⋅ 阅读:(103) ⋅ 点赞:(0)

目录

概念

功能和目标

特征

并发

共享(资源共享)

虚拟

异步

发展与分类

手工操作阶段(无OS)

批处理阶段

单道批处理系统

多道批处理系统

分时操作系统

实时操作系统

网络操作系统

分布式计算机系统

个人计算机操作系统

操作系统运行环境

内核态和用户态

特权和非特权指令

状态切换

中断

 中断机制的基本原理

系统调用

按功能分类

过程

操作系统体系结构

分层法

模块化

宏内核(单内核/大内核)

微内核

外核

操作系统的引导

虚拟机

​编辑


概念

操作系统(OS)是指控制和管理整个计算机系统的硬件与软件资源,合理地组织、调度计算机的工作与资源分配,进而为用户与其他软件提供方便接口与环境的程序集合。操作系统是计算机系统中最基本的系统软件

功能和目标

1.操作系统是资源的管理者

        处理机管理、存储器管理、文件管理、设备管理、用户接口管理

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

  •         命名接口:联机命令接口(交互式命令接口)、脱机命令接口(批处理命令接口)
  •         程序接口(广义指令)

3.操作系统实现了对计算机资源的扩充

特征

并发

若干事件在同一时间间隔内发生。操作系统的并行性是指计算机系统中同时存在多个运行的程序,因此它具有处理和调度多个程序同时执行的能力

ps:单核cpu同一时刻只能执行一个程序,各个程序只能并发执行

共享(资源共享)

系统中的资源可供内存中多个并发执行的进程共同使用。分为以下两种方式;

  • 互斥共享方式:系统中的某些资源,在一段时间内只允许一个进程访问改资源
  • 同时访问方式:系统中的某些资源,在一段时间内允许多个进程“同时”访问

虚拟

把一个物理上的实体变为若干逻辑上的对应物。物理实体是实际存在的,后者则是用户感觉上的事物

异步

多道程序环境允许多个程序并发执行,但由于资源有限,进程的执行并不是一贯到底的,而是走走停停的,它以不可预知的速度向前推进,这就是进程的异步性。

ps:并发和共享是操作系统两个最基本的条件

发展与分类

手工操作阶段(无OS)

主要缺点:

  1. 用户独占,资源利用率低
  2. CPU等待手工操作,CPU的利用不充分

批处理阶段

单道批处理系统

  • 主要优点:缓解了一定程度的人机速度矛盾,资源利用率有所提升
  •  主要缺点:每次主机内存仅存放一道作业,每当它在运行期间发出输入/输出请求后,高速CPU便处于等待低速I/O完成的状态,资源利用率依然低

多道批处理系统

  • 主要优点:多道程序并发执行,共享计算机资源。资源利用率大幅提升,系统吞吐量大。
  • 主要缺点:用户响应时间较长;不提供人机交互功能,用户既不能了解自己的程序的运行情况,又不能控制计算机

分时操作系统

  • 分时技术:把处理器的运行时间分成很短的时间片,按时间片轮流把处理器分配给各联机作业使用 
  • 主要优点:用户请求可以被及时响应,解决了人机交互问题。允许多个用户访问同一台计算机,并且用户对计算机操作独立
  •  主要缺点:不能优先处理紧急的任务,需时间片排队

实时操作系统

为了能在某个时间限制内完成某些紧急任务而不需要时间片排队,诞生了实时操作系统

  • 硬实时操作系统:必须在规定的时刻发生
  • 软实时操作系统:能接受偶尔违反时间规定

网络操作系统

网络中各种资源的共享及各台计算机之间的通信

分布式计算机系统

主要特点是分布性和并行性。系统中的任意台计算机都可以构成一个子系统,并且还能重构;任何工作都可以分布在几台计算机上,由它们并行工作、协同完成。

个人计算机操作系统

是目前使用最广泛的操作系统。如:Windows、Linux、MacOS

ps:操作系统的基本类型主要有:批处理操作系统、分时操作系统、实时操作系统

操作系统运行环境

内核态和用户态

  • CPU有两种状态:内核态、用户态
  • 处于内核态时,执行操作系统的内核程序,此时可以执行特权指令
  • 处于用户态时,执行操作系统的用户自编程序(应用程序),此时只能执行非特权指令

ps:内核包含四大内容:时钟管理、中断机制、原语、系统控制的数据结构及处理

特权和非特权指令

  • 特权指令:不允许用户直接使用的指令,如I/O指令、置中断指令等
  • 非特权指令:允许用户直接使用的指令,不能直接访问系统中的软硬件资源

程序状态字寄存器(PSW):当PSW置0时CPU处于核心态,当PSW置1时CPU处于用户态

状态切换

内核态切换到用户态:执行一条特权指令--修改PSW的标志位为用户态,操作系统主动让出CPU使用权

用户态切换到内核态:由“中断”引发,硬件自动完成变态过程,触发信号中断意味着操作系统强行夺回CPU的使用权

中断

内中断(异常、例外):和当前执行指令有关,中断信号来源于CPU内部

外中断:和当前执行指令无关,中断信号来源于CPU外部

 中断机制的基本原理

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

系统调用

概念:是操作系统提供给应用程序(程序员/编程人员)来使用的接口,可以理解为一种可供应用程序调用的特殊函数。

ps:应用程序可通过系统调用来请求获得操作系统内核的服务

按功能分类

  • 设备管理:完成设备的请求和释放,以及设备启动等功能。
  • 文件管理:完成文件的读、写、创建及删除等功能
  • 进程控制:完成进程的创建、撤销、阻塞及唤醒等功能
  • 进程通信:完成进程之间的消息传递或信号传递等功能
  • 内存管理:完成内存的分配、回收以及获取作业占用内存区大小及始址等功能

过程

传递系统调用参数- >执行陷入指令(用户态)- >执行相应的内请求核程序处理系统调用(核心态)- >返回应用程序

操作系统体系结构

分层法

概念:分层法是将操作系统分成若干层,最底层(层0)为硬件,最高层为用户接口,每层只能调用紧邻它的低层的功能和服务。

优点:

  1. 便于调试和验证,自底向上逐层调试验证
  2. 易扩充和易维护,各层之间调用接口清晰固定

缺点:

  1. 仅可调用相邻低层,难以合理定义各层的边界
  2. 效率低,不可跨层调用,系统调用执行时间长

模块化

概念:模块化是将操作系统按功能划分为若干具有一定独立性的模块。每个模块具有某方面的管理功能,并规定好各模块间的接口,使各模块之间能够通过接口进行通信。

  • 内核=主模块+可加载内核模块
  • 主模块:只负费核心功能,如进程调度、内存管理
  • 可加载内核模块:可以动态加载新模块到内核,而无需重新编译整个内核

优点:

  1. 模块间逻辑清晰易于维护,确定模块间接口后即可多模块同时开发
  2. 支持动态加载新的内核模块(如:设备驱动程序),增强OS适应性
  3. 任何模块都可以直接调用其他模块,无需采用消息传递进行通信,效率高

缺点:

  1. 模块间的接口定义末必合理、实用
  2. 模块间相互依赖,更难调试和验证

宏内核(单内核/大内核)

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

优点:性能高,内核内部各种功能都可以直接相互调用

缺点:

  1. 内核庞大功能复杂,难以维护
  2. 大内核中某个功能模块出错,就可能导致整个系统崩溃

微内核

概念:将内核中最基本的功能保留在内核,而将那些不需要在核心态执行的功能移到用户态执行,从而降低内核的设计复杂性

优点:

  1. 内核小功能少、易于维护,内核可靠性高
  2. 內核外的某个功能模块出错不会导致整个系統崩溃

缺点:

  1. 性能低,需要频繁的切换用户态/核心态。
  2. 用户态下的各功能模块不可以直接相互调用,只能通过内核的"消息传道"来间接通信

外核

概念:内核负费进程调度、 进程通信等功能,外核负责为用户进程分配未经抽象的硬件资源,且由外核负责保证资源使用安全

优点:

  1. 外核可直接给用户进程分配“不虚拟、不抽象”的硬件资源,使用户进程可以更灵活的使用硬件资源
  2. 减少了虚拟硬件资源的“映射层",提升效率

缺点:

  1. 降低了系統的一致性
  2. 使系统变得更复杂

操作系统的引导

概念:操作系统引导是指计算机利用CPU运行特定程序,通过程序识别硬盘分区,识别硬盘分区上的操作系统,最后通过程序启动操作系统。

过程:

  1. CPU从一个特定主存地址开始,取指令,执行ROM中的引导程序(先进行硬件自检,再开机)
  2. 将磁盘的第一块一一主引导记录 读入内存,执行磁盘引导程序,扫描分区表
  3. 从活动分区(又称主分区,即安装了操作系统的分区)读入分区引导记录,执行其中的程序
  4. 从根目录下找到完整的操作系统初始化程序(即启动管理器)并执行,完成 “开机”的一系列动作

虚拟机

概念:使用虚拟化技术,将一台物理机器虚拟化为多台虚拟机器,每台虚拟机器都可以独立运行一个操作系统

ps:图片取自b站视频王道考研 -操作系统

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到