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

news2025/1/26 15:32:41

目录

概念

功能和目标

特征

并发

共享(资源共享)

虚拟

异步

发展与分类

手工操作阶段(无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站视频王道考研 -操作系统

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

EmguCV-C#版本Opencv图像识别和处理

目录 0、简介 1、图像处理 (1)颜色处理 (2)图像差 (3)图像拼接 (4)直方图 (5)颜色空间/通道提取 2、预处理 (1)均衡化 &…

无涯教程-JavaScript - MIRR函数

描述 MIRR函数针对一系列定期现金Stream返回修改后的内部收益率。 MIRR会同时考虑投资成本和现金再投资收到的利息。 语法 MIRR (values, finance_rate, reinvest_rate)争论 Argument描述Required/OptionalValues 包含数字的单元格的数组或引用。这些数字表示定期发生的一系…

MATLAB入门-字符串操作

MATLAB入门-字符串操作 注:本篇文章是学习笔记,课程链接是:link MATLAB中的字符串特性: 无论是字符还是字符串,都要使用单引号来‘’表示;在MATLAB中,字符都是在矩阵中存储的,无论…

通配符ssl证书的作用有哪些?为什么通配符ssl证书如此受欢迎?

随着互联网安全问题日益突出,加之主流浏览器声明网站部署SSL证书,有助于提升网站排名,因此SSL证书成为了企业网络安全防护不可缺少的一环。SSL证书种类多样,其中通配符SSL证书颇受当下企业青睐,申请比例逐年上升。为何…

Linux 修改SSH的显示样式

要修改SSH的显示样式,您可以使用自定义的PS1(提示字符串1)变量来更改命令行提示符的外观。在您的情况下,您想要的格式似乎包括日期和时间,以及当前目录。以下是一个示例PS1设置,可以实现您所描述的样式&…

基于SSM的游戏攻略网站

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…

12个微服务架构模式最佳实践

微服务架构是一种软件开发技术,它将大型应用程序分解为更小的、可管理的、独立的服务。每个服务负责特定的功能,并通过明确定义的 API 与其他服务进行通信。微服务架构有助于实现软件系统更好的可扩展性、可维护性和灵活性。 接下来,我们将介…

金蝶云星空各种部署架构及适用场景分享

> 随着公司的快速发展上市到进入世界500强,作为技术经理,负责了金蝶云星空从单点部署到集群,再到替换SAP的过程,如今项目已经成功上线,所以对金蝶的相关知识也做下整理和归档。 > 在项目实施过程中,部…

智慧安防/视频分析云平台EasyCVR不显示告警图片该如何解决?

安防视频监控平台EasyCVR可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安防视频监控的能力,也…

想了解Java内存分析工具MAT?看这里哦

MAT 简介 MAT全称为 Eclipse Memory Analyzer Tool ,eclipse基金会开源的java堆内存分析工具,可以快速的进行堆内存分析、大对象可视化、类加载器分析、线程分析等。在我们碰到线上内存问题时候,是不可多得的好工具(当然也有artha…

html的日期选择插件

1.效果 2.文档 https://layui.gitee.io/v2/docs/ 3.引入 官网地址&#xff1a; https://layui.gitee.io/v2/ 引入&#xff08;在官网下载&#xff0c;&#xff09;jquery-1.7.2.min.js,layui/layui.js **<link href"js/layui/css/layui.css" rel"stylesh…

Netty核心原理:一、基础入门-05:NettyServer收发数据

文章目录 一、前言介绍二、代码实现2.1 工程结构2.2 Netty服务端收发数据实现2.2.1 服务端处理器2.2.2 通道初始化2.2.3 netty服务端 2.3 单元测试 一、前言介绍 &#x1f4a1; 介绍服务端接收数据后&#xff0c;通过 writeAndFlush 发送 ByteBuf 字节码向客户端传输信息。 因为…

【动态规划】01背包问题

文章目录 动态规划&#xff08;背包问题&#xff09;1. 01背包2. 分割等和子集3. 目标和4. 最后一块石头的重量 || 动态规划&#xff08;背包问题&#xff09; 1. 01背包 题目链接 状态表示 dp[i][j] 表示从前i个物品当中挑选&#xff0c;总体积不超过j,所有选法当中能挑选出…

【码银送书第六期】《ChatGPT原理与实战:大型语言模型的算法、技术和私有化》

写在前面 2022年11月30日&#xff0c;ChatGPT模型问世后&#xff0c;立刻在全球范围内掀起了轩然大波。无论AI从业者还是非从业者&#xff0c;都在热议ChatGPT极具冲击力的交互体验和惊人的生成内容。这使得广大群众重新认识到人工智能的潜力和价值。对于AI从业者来说&#xf…

腾讯云4核8G12M带宽服务器支持多少人同时在线?

腾讯云轻量4核8G12M服务器配置446元一年&#xff0c;518元12个月&#xff0c;腾讯云轻量应用服务器具有100%CPU性能&#xff0c;系统盘为180GB SSD盘&#xff0c;12M带宽下载速度1536KB/秒&#xff0c;月流量2000GB&#xff0c;折合每天66.6GB流量&#xff0c;超出月流量包的流…

JavaScript学习--Day04

元字符 边界符&#xff1a; /^/&#xff1a;以什么开头 /$/&#xff1a;以什么结尾 量词&#xff1a; 预定义类&#xff1a;

用hadoop-eclipse-plugins-2.6.0来配置hadoop-3.3.6

hadoop-eclipse-plugins这个插件是Eclipse中Hadoop的插件&#xff0c;但在寻找这个插件的过程中&#xff0c;突然发现插件的版本最好与hadoop的版本的一样 但我所能找到的最新版是3.3.1的&#xff0c;试了试&#xff0c;运行有问题&#xff0c;不能用 然后又试了试自己搭对应…

PIGOSS BSM:网络大屏展现功能与特色全面解析

导语 PIGOSS BSM是一款强大的IT运维监控工具&#xff0c;提供了丰富的功能和特色。其中的“网络大屏”模块是其核心功能之一&#xff0c;能够以直观、全面的方式展示网络设备的状态信息和各种关键指标。本文将详细介绍PIGOSS BSM网络大屏的功能及特色&#xff0c;让您全面了解其…

Swift学习内容精选(一)

Swift 可选(Optionals)类型 Swift 的可选&#xff08;Optional&#xff09;类型&#xff0c;用于处理值缺失的情况。可选表示"那儿有一个值&#xff0c;并且它等于 x "或者"那儿没有值"。 Swfit语言定义后缀&#xff1f;作为命名类型Optional的简写&…