《操作系统》- 操作系统的基本概念

news2024/9/23 7:28:07

目录

    • 一、操作系统的概念
      • 1.1 操作系统的分类
      • 1.2 计算机系统的构成
      • 1.3 操作系统都做了哪些事
    • 二、操作系统的目标和功能
      • 2.1 操作系统的目标
      • 2.2 操作系统的功能
    • 三、操作系统的特征
      • 3.1 并发
      • 3.2 共享
      • 3.3 虚拟
      • 3.4 异步

一、操作系统的概念

1.1 操作系统的分类

UNIX是非常早期的操作系统,像Linux和MacOS都是基于UNIX延伸出来的操作系统,而安卓是由Linux延伸出来的,IOS是由MacOS延伸出来的。

现在大多数电脑的都是安装的windows,windows目前有不同的版本,windows7、windows10、windows11等…

DOS操作系统(也就是上图当中的黑框框命令窗口)是Microsoft公司推出的(在windows之前的操作系统),目前windows兼容了DOS操作系统,我们通过在windows系统当中使用windows+r然后输入cmd就可以进入DOS窗口命令。

DOS和Windows其实都是操作系统。并且都是微软研发的,DOS是一个单任务,单个用户,是基于CLI的操作系统,而Windows是一个多任务,多用户和基于GUI(图形化使用者介面)的操作系统。

1.2 计算机系统的构成

  • 用户
  • 应用程序
  • 操作系统(OS)
  • 硬件(裸机)

操作系统是软件和硬件所连接的桥梁,操作系统可以直接操控硬件,对于用户来说,用户可以通过软件来使用操作系统,同时也可以直接使用操作系统来操控硬件。

  • 用户直接使用操作系统案例:开关电脑声音,要知道声音他可是由电脑音响来控制的,操作系统为我们提供了图形化界面,我们可以直接通过鼠标或者键盘快捷键就可以操作音响。
  • 用户使用软件的案例:操作系统为软件提供了操作硬件的接口,就拿我们平时使用的视频播放器来说,一般常见的视频播放器都可以控制声音,本质上他就是调用的操作系统提供的音量接口来控制的。

1.3 操作系统都做了哪些事

操作系统(OS)是配置在计算机硬件上的第一层软件,我们称之为系统软件,我们平常使用的软件都称之为应用软件,应用软件是专门为某一应用目的而编制的软件,比如微信、QQ…他们都是安装在操作系统当中。

操作系统主要有以下功能:

  1. 用户界面:用户界面是操作系统的一部分,它为用户和在操作系统上运行的其他应用程序创建一个平台以相互通信。操作系统的用户界面便于用户控制其他软件并提供易用性。用户界面可以是3 种主要类型;命令控制、菜单驱动和图形用户界面。
  2. 资源管理:连接到计算机系统的设备,如内存、存储、I/O设备等,称为计算机资源。操作系统控制这些资源并能够有效地使用可用资源,从而使系统永远不会耗尽其资源。操作系统不仅控制这些资源,还检测资源的故障、检查状态并将资源相互连接。
  3. 任务管理:任何操作系统的任务管理程序都接受指令,对其进行分析和处理。任务管理利用计算机处理器的能力并将其分配给各种任务,控制中断。
  4. 文件管理:操作系统管理计算机上的文件,如创建、删除、访问、复制、移动、存储文件等。它还操作数据和程序,如发送和接收数据、移动和存储数据等。
  5. 实用程序:操作系统为用户和其他程序提供各种实用程序,例如文件碎片整理、数据压缩、数据备份和恢复、防病毒实用程序等。

二、操作系统的目标和功能

2.1 操作系统的目标

就拿windows系统为例,windows操作系统一直在更新迭代,那他版本升级的目标是什么?

  1. 有效性:提高系统的资源利用率和系统的吞吐量。
  2. 方便性:假如没有图形化界面操作系统,让用户都通过命令来控制硬件,计算机入门的门槛一下子就提升了,所以尽可能的全部采用傻瓜式操作。
  3. 可扩充性:计算机的硬件一直在快速的发展,由原先的内存8g可能现在都支持128g了,但是要保证操作系统能够适应硬件设备的发展。
  4. 开放性:软件发展的速度特别快,要降低计算机软件开发的门槛,也就是不管什么样的人都可以基于操作系统进行开发软件。

2.2 操作系统的功能

主要分为三大类:

OS作为计算机系统资源的管理者,他主要管理的都有什么资源?

OS提供了三种类型的接口:

  • 程序接口:给应用程序提供了一些可调用的接口,主要是供应用程序性通过接口来操控硬件。
  • 命令接口:doc命令窗口
  • GUI:图形化操作

操作系统将硬件资源抽象了出来,用户可以直接通过操作系统中的命令窗口和GUI来操作硬件资源,而应用程序可以通过系统调用和命令来操作硬件资源。而对于使用者而言封装了实现的细节。

我们打开一个浏览器,输入baidu.com,然后应用软件会通过操作系统当中的系统调用去访问硬件网卡设备。

硬件会根据输入的地址进行网络通信,硬件访问过后拿到响应再将数据返回给操作系统,操作系统拿到响应后再进行封装和处理然后再返回给我们的浏览器应用软件。浏览器最终再展示出来,我们才能看得到。

操作系统的系统调用对于用户来说是无感知的,他隐藏了实现的细节,我们一般能想得到的就是我输入baidu.com,然后浏览器给我返回了结果。

三、操作系统的特征

四个基本特征之间的关系

  • 虚拟、共享、异步的前提都是存在并发。
  • 并发的前提是存在共享。

3.1 并发

假如我们使用单核的处理器同时执行多个任务,宏观上以为他一下子同时运行了多个任务,微观上其实并非同时执行,只是由处理器在处理的过程把不同的任务完成了高速的切换,时间间距可能非常非常小,使我们根本无法察觉出来。

同理:就好比一个人在半个小时内可以完成刷牙、洗脸、刷碗。那他半小时支持的并发事务就是3。他三件事情其实并非同时执行的,因为他又不能分身。只是在半小时这个时间段内。

怎么证明cpu是在串行执行?

关于cpu我们可以通过windows系统-》打开任务管理器-》然后下方有个资源监视器-》打开后可以观察cpu就是在串行执行。

CPU和处理器本质上就是指的一个东西,一个CPU可以有多个内核,内核就是真正的物理核心(芯片硬件),而往往处理器会使用超线程技术,其将每个内核又可以分为两个线程。

而线程技术就是在单个内核基础上提供两个逻辑处理器,利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,所以两个物理核心就是四个线程,也就形成了四个逻辑处理器。

假设内核2,逻辑处理器4,能够并行执行线程数量,主要取决于逻辑处理器,4个逻辑处理器可以并行处理4个线程

但是可以并发处理几千个线程都没问题(底层是时间片轮转机制 RR 时间片快速切换,每个线程拥有时间片就可以获得执行权)

像我的电脑还是比较古老的笔记本电脑,是双核8G运行内存,当时因为电脑卡顿又加了16G的内存条,发现启动的软件多仍然卡顿,因为运行内存是存储的应用软件所暂存的数据,虽然内存是够用了,但是CPU跟不上,并没有什么卵用。

一般我们可以用最以下简单的方法来区别CPU的好坏:

  • CPU的核心数(干活的人数,干活的越多,当然越好)

  • CPU的线程数(逻辑处理器),就跟一个人有几只手可以干活一个意思,有的CPU只有一只手,超线程表示有2只手,另外一只手是辅助,一般情况下,8个人比4个人8只手厉害多了;

  • CPU的核显(核显即核心显卡指的是处理器(CPU)和图形处理器(GPU)集成在一块芯片上),这个对于没有独立显卡的电脑来说,非常重要,核显的频率和核心数都决定了电脑的干活速度。核显的频率主要有两个指标:

    • 基础频率(主频),主频就是一颗CPU的运行频率。比如i59400F处理器的主频是2.9Ghz,无论是单核还是多核,所有的核心都是工作在2.9Ghz。
    • 加速频率(睿频),睿频是Intel的一项加速技术,指当启动一个运行程序后,处理器会自动加速到合适的频率,而原来的运行速度会提升 10%~20% 以保证程序流畅运行的一种技术。
  • 内存频率,这个一般对CPU影响不大,对核显(因为核显要跟CPU共用内存)非常重要;

一般我们在购买电脑的时候,像某东就是把逻辑处理器称之为了线程数,处理器一般会有如下参数,假如没有独立显卡,那我们就需要看处理器的基准频率和加速频率了,当然是越高越好。

3.2 共享

关于共享资源分为了两种

  • 同时访问方式:像电脑磁盘就是典型的允许多个应用同时操作磁盘。如果不允许那还了得,我们将无法多个软件同时访问磁盘并且无法同时下载资源到磁盘。
  • 还有一些资源是互斥共享的:所谓互斥共享就是虽然资源是共享的,但是不能同时访问,假如同时访问的话需要分优先级进行排队。
    打印机就是典型的案例,假如多个应用同时调用打印,他会将要打印的内容存入到打印队列当中,然后一个一个打印。音频设备同样也是,假如你在看电视,突然来了个电话,这时候你电视声音就没有了,直接切换成了电话。

注意:有并发才会有共享,有共享才会有并发。

男子同时和四个女友约会属于并发还是并行?

答:当然是并发了,因为男子是一个人,他不能被同时共享,他只不过是约了4个人在不同的地方,然后男子来回场地切换

同时结婚是并发还是并行?

答:也是并发,同上一样。可以把男子理解成处理器,不能被共享。

3.3 虚拟

虚拟主要有两种实现

  • 时分复用技术:把时间分成多半给程序进行使用,比如电脑只有8个处理器,但是运行了上百个应用程序,逻辑上是同时在运行上百个应用,实际上是由8个处理器在不同的任务当中做高速的切换,比如1个任务执行2毫秒不管结束没结束,就立即切换到另一个任务,本身执行的速度就是非常快的,切换我们更感知不到了。
  • 空分复用技术:这个磁盘就是典型的案例,将一个固定大小的磁盘,进行分成了多个逻辑性的磁盘。硬件实际上还是一块磁盘。

3.4 异步

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

虽然是多个程序在同时运行,本质上是多个任务在异步的在执行,各任务各自独立执行,相互之间互不干扰。

比如A进程正在占用CPU计算,B进程这时也想占用CPU计算,B进程只有等,等A进程算完了,A进程去访问磁盘资源了,这时B进程再占用CPU进行计算,B进程还没计算完,A进程从磁盘取出资源了,A进程发现B这时在占用CPU,这时A进程就需要等待,等B算完后再继续到CPU中进行计算。由于每个进程占用资源的时间不固定,所以进程的执行以不可预知的速度前进

参考:《马士兵操作系统讲解》https://www.bilibili.com/video/BV1Ha411e7D4/

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

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

相关文章

【HTML】table 1px border,td文本超出隐藏

效果图 html代码 <table className{styles.conver_table} border{1}><thead><tr><th>序号</th><th>标题</th><th>操作</th></tr></thead><tbody>{new Array(20).fill({}).map((v, i) > {return …

优雅演进:探索低代码与全栈的完美结合

&#x1f49b;前情提要&#x1f49b; 本章节是番外篇的低代码平台的相关知识~ 接下来我们即将进入一个全新的空间&#xff0c;对代码有一个全新的视角~ 以下的内容一定会让你对低代码平台有一个颠覆性的认识哦&#xff01;&#xff01;&#xff01; 以下内容干货满满&#…

C语言算法笔记1:结构体、结构体数组实战讲解

今日开始为电赛复习一些必备的算法知识&#xff0c;本文回顾复习结构体的概念以及一些基本操作&#xff0c;每个知识点都有代码实践演示&#xff0c;可以复制测试查看&#xff01; 目录 前言——往日的困惑&#xff1a; 一、结构体基础知识与用途&#xff1a; C语言结构体是…

C# 组合两个表

175 组合两个表 SQL架构 表: Person -------------------- | 列名 | 类型 | -------------------- | PersonId | int | | FirstName | varchar | | LastName | varchar | -------------------- personId 是该表的主键列。 该表包含一些人的 ID 和他们的姓和名的信息。 表: A…

JavaCV音视频开发宝典:使用JavaCV读取海康平台或海康网络摄像头sdk回调录像回放视频PS码流并解析预览图像

《JavaCV音视频开发宝典》专栏目录导航 《JavaCV音视频开发宝典》专栏介绍和目录 ​ 前言 上一章中《JavaCV音视频开发宝典:使用JavaCV读取海康平台或海康网络摄像头sdk回调视频TS流并解析预览图像》已经详细介绍了针对海康SDK实时视频流回调的TS流解析实现,并且也提到了PS…

华为OD机试真题 Python 实现【打印文件】【2023Q1 100分】,附详细解题思路

目录 一、题目描述二、输入描述三、输出描述四、解题思路五、Python算法源码六、效果展示1、输入2、输出3、说明 一、题目描述 有 5 台打印机打印文件&#xff0c;每台打印机有自己的待打印队列。 因为打印的文件内容有轻重缓急之分&#xff0c;所以队列中的文件有1~10不同的…

结构体和数据结构--结构体指针的定义和初始化

目录 一、指向结构体变量的指针 二、指向结构体数组的指针 一、指向结构体变量的指针 如上一文章的例题&#xff0c;假设已经声明了STUDENT结构体类型&#xff0c;那么定义一个指向该结构体类型的指针变量的方法为&#xff1a; STUDENT *pt&#xff1b;//定义指向STUDENT结构…

【爬虫】百度FengXiangBiao(完全爬虫卡住了,是爬虫+文本提取方式)

学习使用。爬虫有风险。使用需谨慎。切记切记。 参考链接&#xff1a;学习python爬虫—爬虫实践&#xff1a;爬取B站排行榜 都是排行榜反正 网页细节 按F12&#xff0c;打开控制台。前端就是这点好&#xff0c;非常直观。 找到排行的具体位置&#xff0c;如下图&#xff0c;这…

不知道ai自动生成绘画网站有哪些就试试这些ai绘画软件

自然语言处理技术和机器学习的不断发展&#xff0c;为艺术创作和设计领域带来了新的可能性。随着人工智能技术的进步&#xff0c;越来越多的网站和平台开始利用ai技术&#xff0c;为大家提供自动生成绘画的功能。这些ai绘画网站通过深度学习和生成对抗网络等先进技术&#xff0…

排列组合算法

排列组合算法 next_permutation&#xff08;下一个序列&#xff09;prev_permutation(上一个序列) 主要是两个函数 第一个&#xff1a;next_permutation 下一个序列 第二个&#xff1a;prev_permutation 上一个序列 next_permutation&#xff08;下一个序列&#xff09; 如果说…

React项目通过webpack-plugin-istanbul生成覆盖率报告

早期开发前端覆盖率的时候&#xff0c;使用的是Vue项目&#xff0c;对应的插件是babel-plugin-istanbul&#xff0c;后来发现公司产品使用的是React项目&#xff0c;babel-plugin-istanbul插件就不太支持了。在网上搜索了一下&#xff0c;发现一个全新的插件&#xff1a;webpac…

【Android】组件安全之Activity

前言 前文系统的总结了组件会有什么安全问题&#xff0c;本文详细的从不同的组件切入&#xff0c;深入的解析组件的实现方式。组件安全https://blog.csdn.net/xiru9972/article/details/123537641?ops_request_misc&request_id7a89a72fdd464cee90c20b2b88549c11&biz_…

这么菜还敢要20K?我还不如直接招个应届生

公司今年要招人&#xff0c;面倒是面了很多测试&#xff0c;但没有一个合适的。一开始想要的就是中级的水准&#xff0c;也没指望来大牛&#xff0c;当然来了更好&#xff0c;提供的薪资在10-20k,来面试的人有很多&#xff0c;但平均水准真的是让人失望。 看简历时很多都写着3…

两数相加(java)

给你两个 非空 的链表&#xff0c;表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的&#xff0c;并且每个节点只能存储 一位 数字。 请你将两个数相加&#xff0c;并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外&#xff0c;这两个数都不会以 0 …

[github-100天机器学习]day1 data preprocessing

https://github.com/LiuChuang0059/100days-ML-code/blob/master/Day1_Data_preprocessing/README.md#step-6-feature-scaling—特征缩放 数据预处理 数据帧(Data Frame) 二维的表格形式&#xff0c;类似于电子表格或关系型数据库中的表。数据帧通常被用来存储和操作结构化数据…

移动信号灯通信协议-CWAVE-MTFBWY-TSLI 移动式智能路侧系统

1 产品概览 CWAVE-MTFBWY-TSLⅠ型移动式智能路侧系统 &#xff0c;可通过 LTE-V实现与 实现与 车 载设备 及其他路侧设备 进行信息 交互 。该移动式智能路侧系统可根据实际需求 选配 智能交通信号灯 与/或感知检测设备 &#xff0c;其中 可选配 的感知 检测 设备包括 微波 雷达…

随机森林算法介绍及多分类预测的R实现

随机森林&#xff08;Random Forest&#xff09;是一种经典的机器学习算法&#xff0c;是数据科学家中最受欢迎和常用的算法之一&#xff0c;最早由Leo Breiman和Adele Cutler于2001年提出。它是基于集成学习&#xff08;Ensemble Learning&#xff09;的一种方法&#xff0c;通…

数据库选型sql和nosql

一、数据库选型sql和nosql&#xff1a; 1.1关系型数据库sql和非关系型数据库nosql 1.2关系型数据库特点&#xff1a; 数据结构化存储在二维表中 支持事务的原子性A,一致性C,隔离性I持久性D 特性 支持使用SQL语言对存储在其中的数据进行操作 1.3关系型数据库的适用场景&…

pwn(7.3)

Nc 通过nc&#xff0c;我们可以链接到对方的服务器 再用过Linux的命令可以查找到我们想要的信息 Ret2txt 先查壳 没开任何保护&#xff0c;拿IDA看看 很明显的栈溢出&#xff0c;看到/bin/sh地址 解释&#xff0c;通过汇编语言我们知道调用函数使用call命名&#xff0c;c…

HNU-小学期工训-STC-B案例测试作业

对于一些案例&#xff0c;这里列举一些 流水灯 八位数码管动态扫描 八位数码管流水灯(有BSP版本) 八位数码管滚动显示(有BSP版本) 可变亮度的数码管显示(有BSP版本) 扫描频率可改变的电子钟 按键消抖计数(有BSP版本) 三按键测试(有BSP版本) 霍尔磁场检测(有BSP版本) 数…