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

目录

概念

功能和目标

特征

并发

共享(资源共享)

虚拟

异步

发展与分类

手工操作阶段(无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.rhkb.cn/news/134636.html

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

相关文章

Ubuntu安装Android Studio

一、Android Studio安装 官方教程:安装 Android Studio | Android Developers 1、下载:Download Android Studio & App Tools - Android Developers,选择linux版本 2、 提取/解压 将下载的安装包提取出来 3、 64位ubuntu系统&#…

Bash脚本学习:AWK, SED

1. AWK AWK 是一种编程语言,设计用于处理文件或数据流中基于文本的数据,或者使用 shell 管道。 可以将 awk 与 shell 脚本结合使用或直接在 shell 提示符下使用。 以上展示使用AWK分别打印第一个位置变量和第二个位置变量。 建立一个文档 csvtest.cs…

无涯教程-JavaScript - MATCH函数

描述 MATCH函数在单元格范围内搜索指定的项目,然后返回该项目在该范围内的相对位置。 当您需要某个项目在范围中的位置而不是项目本身时,请使用MATCH而不是LOOKUP函数之一。如。您可以使用MATCH函数为INDEX函数的row_num参数提供一个值。 语法 MATCH (lookup_value, lookup…

【数据结构】红黑树的删除(抽丝剥茧,带你理清每一种情况)

文章目录 前言正文1.所删除的结点为红色1.1delnode的左右都为空1.2delnode的左为空,且右不为空1.3delnode的左不为空,右为空1.4delnode的左不为空,且右不为空 2.所删除的结点为黑色2.1 调整后所在树每条路径黑色结点的个数不发生变化2.1 左结…

【问题处理】GIT合并解决冲突后,导致其他人代码遗失的排查

GIT合并解决冲突后,导致其他人代码遗失的排查 项目场景问题描述分析与处理:1. 警告分析2. 文件分析3. 问题关键4. 验证 解决策略总结 📕作者简介:战斧,从事金融IT行业,有着多年一线开发、架构经验&#xff…

ChatGPT追祖寻宗:GPT-2论文要点解读

论文地址:Language Models are Unsupervised Multitask Learners 上篇:GPT-1论文要点解读 在上篇:GPT-1论文要点解读中我们介绍了GPT1论文中的相关要点内容,其实自GPT模型诞生以来,其核心模型架构基本没有太大的改变&a…

华为云云服务器云耀L实例评测 | 在华为云耀L实例上搭建电商店铺管理系统:一次场景体验

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…

java写一个用于生成雪花id的工具类

我们创建一个类 叫 SnowflakeIdGenerator 作为生成雪花id的工具类 然后 编写代码如下 public class SnowflakeIdGenerator {private static final long START_TIMESTAMP 1609459200000L; // 设置起始时间戳,可以根据需要进行调整private static final long WORKER…

HBase 记录

HBase 管理命令 hbase hbck -details TABLE_NAME hbase hbck -repair TABLE_NAMEHBase概览 Master、RegionServer作用 RegionServer与Region关系 数据定位原理 https://blogs.apache.org/hbase/entry/hbase_who_needs_a_master RegionServer HBase Essentials.pdf (P25)…

四种常用的自动化测试框架

一直想仔细研究框架,写个流水账似的测试程序不难,写个低维护成本的测试框架就很难了,所以研究多种测试框架还是很有必要的,知道孰优孰劣,才能在开始编写框架的时候打好基础,今天读到了KiKi Zhao的翻译文章&…

中标麒麟--国产操作系统-九五小庞

那么,我国国产操作系统现状到底如何呢? 自 1999 年徐冠华部长一语点破我们的产业软肋之后,国产操作系统起步于国家“七五”计划期间,目前国产操作系统均是基于Linux内核进行的二次开发,中国国产操作系统进入Linux元年…

【网络】计算机网络基础

Linux网络 对网络的理解 在网络传输中存在的问题: 找到我们所需要传输的主机解决远距离数据传输丢失的问题怎么进行数据转发,路径选择的问题 有问题,就有解决方案; 我们把相同性质的问题放在一起,做出解决方案 解…

【Markdown】图片缩放

▚ 01 原图表示 语法为: ![替代文本](图片链接地址)其中,替代文本是在无法显示图片时显示的替代文本,而图片链接是指向图片的URL或相对路径。 例如,插入Panda图片: ![panda](https://img-blog.csdnimg.cn/e5f3…

(高频面试1)Redis缓存穿透、缓存击穿、缓存雪崩

目录 一:缓存数据 1.1 应用场景 1.2:缓存数据出现的问题 1.2.1 缓存穿透 1.2.2 解决办法 1.2.3 缓存击穿 1.2.4 解决办法 1.2.5 缓存雪崩 1.2.6 解决办法 一:缓存数据 1.1 应用场景 数据库查询结果缓存是一种常见的缓存应用场景&a…

MybatisPlus(5)

前言🍭 ❤️❤️❤️SSM专栏更新中,各位大佬觉得写得不错,支持一下,感谢了!❤️❤️❤️ Spring Spring MVC MyBatis_冷兮雪的博客-CSDN博客 上篇讲了增删的操作,这篇讲修改操作中的一个问题以及它对应的…

DataX实现Mysql与ElasticSearch(ES)数据同步

文章目录 一、Linux环境要求二、准备工作2.1 Linux安装jdk2.2 linux安装python2.3 下载DataX: 三、DataX压缩包导入,解压缩四、编写同步Job五、执行Job六、定时更新6.1 创建定时任务6.2 提交定时任务6.3 查看定时任务 七、增量更新思路 一、Linux环境要求…

加密算法发展简介

1:对称加密算法 客户端加密数据和服务端解密数据,使用的相同的秘钥: 固定秘钥:双方约定好一个固定秘钥; 随机秘钥:双方约定每次建立连接的时候,某固定BYTE为秘钥; 缺点&#xff1a…

JK405R-SOP16录音芯片ic方案的功能简介,可以内置录音30秒-高采样率

一、简介 JK405R是一颗SOP16封装的录音芯片,专用于录音的应用,芯片内置了30秒的录音空间,同时还支持外扩 spiflash方便不同录音时长的应用需求。芯片内置MIC的放大器,并且增益可调 同时芯片还具备超低功耗,待机2uA。…

2023/9/17周报

摘要 本周阅读了两篇论文,其一为一种基于空气质量时频域特征提取的hybrid预测方法,另一篇为基于烛台与视觉几何群模型的 PM2.5 变化趋势特征提取与分类预测方法。在第一篇文章中,通过小波变化,对数据进行分频,并设计了…

Linux界的老古董

Slackware 是由 Patrick Volkerding 制作的 Linux 发行版,从 1993 年发布至今也一直在 Patrick 带领下进行维护。7 月 17 日,Slackware 才刚刚过完它 24 岁的生日,看似年纪轻轻的它,已然是 Linux 最古老的发行版。 Slackware 的发…