【Linux】进程概念I --操作系统概念与冯诺依曼体系结构

news2025/1/23 5:01:12

img

Halo,这里是Ppeua。平时主要更新C语言,C++,数据结构算法…感兴趣就关注我吧!你定不会失望。

本篇导航

  • 1. 冯诺依曼体系结构
    • 为什么这样设计?
  • 2. 操作系统概念
    • 为什么我们需要操作系统呢?
    • 操作系统怎么进行管理?

在这里插入图片描述

计算机是由两部分组成的:硬件+软件.与硬件相关的为冯诺依曼体系结构,与软件相关的为:操作系统.

1. 冯诺依曼体系结构

如今大多数计算机(笔记本,服务器等)大多数都遵守冯诺依曼体系结构.实际中的模型细节较为复杂.这是抽象后的简单模型.其结构模型为:

bf9b4e7ba426b5cf8416ca9e992684c

在这张图中,红色为数据传输信号,而黑色则为控制信号

其中输入设备为:键盘,鼠标,硬盘等设备

输出设备为:显示器,打印机,硬盘等设备

运算器与控制器我们统称为CPU

这里的存储器是指内存,而不是硬盘.

为什么这样设计?

输入设备,输出设备的速度远远慢于CPU的速度.而存储器的速度在这二者之间.

由木桶效应可知.性能往往由短板决定.

image-20230826170459034

若直接由CPU对接输入输出设备,则会造成CPU大多时候都在等待IO设备,CPU并不能被很有效的利用起来.

而加入了存储器这个介质,可以较大程度上解决这个问题.提高CPU的利用率.

那么为什么不选择最快的cache呢?

根据存储金字塔来看,越往上的价格越高,且速度越快.若全部采用最快的cache.计算机就会因为造价昂贵而无法普及了

一句话说:所有的设备都只能跟内存打交道

关于冯诺依曼体系结构,我们可以试着从以下这两个例子来理解

  1. 你登上qq后跟你的朋友进行聊天.(不涉及网络传输层面)

    首先键盘作为输入设备,我们输入数据,接着这些数据被放入到内存当中由CPU进行处理.处理完后被放入到输出设备,此时为 网卡.

    发送给你的朋友的电脑.

    同样,他的电脑也满足这个体系结构.网卡作为输入设备,收到消息后将消息放到内存中,cpu对消息进行处理后,显示在输出设备 屏幕

7bdcc5af99426bfbb2949a57573a0c9

  1. 通过qq来传输文件

    首先硬盘作为输入设备,我们输入数据,接着这些数据被放入到内存当中由CPU进行处理.处理完后被放入到输出设备,此时为 网卡.

    发送给你的朋友的电脑.

    同样,他的电脑也满足这个体系结构.网卡作为输入设备,收到文件数据后将文件数据放到内存中,cpu对文件数据进行处理后,存储在输出设备 硬盘

1aa497326af28e1501e009b51e52fa5

2. 操作系统概念

操作系统是一款管理的软件,上面的冯诺依曼体系结构展现的是硬件层面.但一个个硬件如何进行协同工作的呢?这就是操作系统的意义所在.

为什么我们需要操作系统呢?

  1. 帮助用户管理好软硬件资源
  2. 为了给用户提供一个高效的运行环境.使用电脑的可以粗略的分为两类人,一类是普通用户,一类是程序员.前者使用的大多为程序员开发的软甲.而程序员才是真正使用操作系统的那一部分人.

因为操作系统不相信用户,对自己进行了封装,我们大多时候无法看见它的细节.为了能维护自身安全,也能给用户提供服务,用户只能通过其提供的接口去访问.也就是 系统调用接口

也就是说:**任何访问操作系统的行为,都只能通过系统调用去完成.**这样保证了系统的安全稳定.

操作系统怎么进行管理?

我们先设想一个场景:

在学校中,校长如何管理每一个学生呢?

首先,先描述数据,将每一个学生的信息按照某种特定的格式记录,之后组织数据,将其放入excel表方便管理.之后想要找到某位学生,只要按照特定属性进行寻找即可.

在操作系统中也是一样的,将每一个需要管理的对象先按照特定的格式进行 描述数据,之后通过数据结构在进行组织即可.

所以**,在操作系统中,管理任何对象都可以将其转换为对某类数据结构的增删查改.**

具体怎么做的我们之后再说.

我们之前写过的通讯录不就是,先将每个人描述,在组织起来的过程嘛.其在某种方面上,与操作系统是相同的

//描述
struct Person{
  int age;
  int tel;
  string address;
};
//组织
struct Contact
{
  Person p[100];  
};

6bb2ef0104c16313701e6047fb28c4b

当我们在调用printf()函数的时候,在做什么呢?

每一个调用硬件的函数,其内部封装了系统调用的接口,所以也是通过系统调用的接口去访问驱动程序,硬件,最终显示在屏幕上.
image-20230905164632777

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

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

相关文章

使用Xshell远程访问工具连接到Linux

首先需要查看Linux地址,在Linux主界面中右键选择“Open in Terminal” 输入“ifconfig”指令查看IP地址 打开Xshell,输入相关信息,建立连接 点击连接,按照提示输入用户名 root和你自己安装centos7时设置的密码,用…

css实现圆角三角形,圆角三角形的实现

今天给大家带来一个如何实现圆角三角形的方案,这个方案虽然可以实现,但是也是借助拼凑等方式来实现的,假如想一个div来实现圆角三角形,还是比较困难的。之前文章讲了如何实现对话框,里面介绍了三角形的实现方式。今天讲…

使用navicat for mongodb连接mongodb

使用navicat for mongodb连接mongodb 安装navicat for mongodb连接mongodb 安装navicat for mongodb 上文mongodb7.0安装全过程详解我们说过,在安装的时候并没有勾选install mongodb compass 我们使用navicat去进行可视化的数据库管理 navicat for mongodb下载地址…

秒杀“超卖”问题

概述:限时秒杀活动在我们的日常生活中有很多,尤其在“双11”,“618”这类购物节活动中用户的并发数更是海量剧增,那么系统为了防止“超卖”秒杀商品,怎么做才能不影响性能的同时防止超卖。 为了解决“超卖”问题有两种…

mysql或ps提示 vcruntime140_1.dll丢失如何修复,5种方法办法你搞定

今天我在运行一款新安装的软件时,突然遇到了一个让我十分困扰的问题——系统提示vcruntime140_1.dll文件丢失。这个问题导致我无法正常使用这个软件,我也不知道怎么回事,所以我在网上找了一天终于让我找到解决这个问题的方法了,今…

绩效只是绩效

绩效只是绩效 一、背景二、绩效和管理三、绩效和薪资四、QA环节五、总结与反思 一、背景 目前大部分主体的绩效考核方向不明确,有的只是为了考核而考核,那么绩效是什么? 打A(超出预期)和打D(低于预期&…

阿里云ESC服务器CPU一直处于100%该如何排查?

阿里云ESC服务器CPU一直处于100%该如何排查? 问题背景 使用 docker 容器化部署整个项目,然后服务器的CPU一直处于100%,此时就出现了问题:此时如果重新开启一个窗口去连接,或者访问宝塔面板、Navicat连接MySQL就连接不…

使用redis+lua通过原子减解决超卖问题【示例】

文章目录 前言一、准备工作二、不使用Lua三、使用Lua 前言 超卖,即在并发的情况下,所售商品数量大于商品的库存数量。在并发量大的情况下,用户请求同时到达,对数据库进行操作,在没有采取相应的处理的情况时从而导致出…

第八章 Linux实际操作——定时任务调度

第八章 Linux实际操作——定时任务调度 8.1 crond任务调度8.1.1 概述8.1.2 基本语法8.1.3 常用选项8.1.4 快速入门8.1.5 应用实例8.1.6 crond相关指令 8.2 at定时任务8.2.1基本介绍8.2.2 at命令格式8.2.3 at命令选项8.2.4 at时间定义8.2.5 应用实例 8.1 crond任务调度 crontab…

Vulnhub系列靶机---HarryPotter-Nagini-哈利波特系列靶机-2

文章目录 信息收集主机发现端口扫描gobuster目录扫描dirsearch扫描joomscan扫描实现http3访问 漏洞利用Gopherus工具GetShell提权firefox_decrypt工具 总结 靶机文档:HarryPotter: Nagini 下载地址:Download (Mirror) 信息收集 主机发现 端口扫描 访问8…

生成克隆钓鱼网站与对win7进行后渗透操作

目录 目录 前言 系列文章列表 思维导图 1,实验涉及复现环境 2,CS的介绍 2.1,CS的简介 2.2,CS的主要功能 3,CS的安装 3.1,将cobalt_strike_4.5文件夹放到kali中 3.1,放入过程中的注意事项 3.2,如图所示 4,配置工具 4.1,进入c…

Kafka3.0.0版本——消费者(Sticky分区分配策略以及再平衡)

目录 一、Sticky分区分配策略原理二、Sticky分区分配策略 示例需求三、Sticky分区分配策略代码案例3.1、创建带有7个分区的sevenTopic主题3.2、创建三个消费者 组成 消费者组3.3、创建生产者3.4、测试3.5、Sticky分区分配策略代码案例说明 四、Sticky分区分配再平衡案例4.1、停…

机器人抓取检测技术的研究现状

1.分析法 图 1 为分析法在进行抓取检测时所采用的 一般策略[3] [3]Sahbani A, El-Khoury S, Bidaud P. An overview of 3D object grasp synthesis algorithms[J]. Robotics and Autonomous Systems, 2012, 60(3): 326-336. 首先,基于环境限制和机械手与物体模 型进行抓取检…

算法宝典——Java版本(持续更新)

目录 一、链表的算法题(目前9道) 1. 移除链表元素(思路:前后指针) 2. 反转一个单链表 (思路:头插法) 3. 链表的中间结点(思路:快慢指针) 4. 链…

衷心祝福“好教师”节日快乐

在2023年教师节的今天,本“人民体验官”推广人民日报官方微博文化产品《张桂梅说教师这个职业有苦有幸福》。 图:来源“人民体验官”推广平台 人民微博简述道:“今天,张桂梅祝全国老师们节日快乐。” 张桂梅说:“教师…

图像的几何变换(缩放、平移、旋转)

图像的几何变换 学习目标 掌握图像的缩放、平移、旋转等了解数字图像的仿射变换和透射变换 1 图像的缩放 缩放是对图像的大小进行调整,即 使图像放大或缩小 cv2.resize(src,dsize,fx0,fy0,interpolationcv2.INTER_LINEAR) 参数: src :输入图像dsize…

机构企业学员培训知识付费小程序开源版开发

机构企业学员培训知识付费小程序开源版开发 用户注册与登录:提供用户注册和登录功能,以便用户能够访问和使用小程序。个人信息管理:允许用户管理个人资料,包括修改个人信息和上传个人头像。课程浏览:提供课程列表&…

[技术讨论]讨论问题的两个基本原则——17年前的文字仍然有效

前两天又有人找我讨论问题,而且是他自己的项目,内容与我没有任何关系,他说的,却是讨论。 其实就是想来做咨询,又不想付费。 今天看到了十七年前写的这篇文字,就重发一下了,当然有少量文字修订&a…

【Java并发】聊聊ReentrantReadWriteLock锁降级和StampedLock邮戳锁

面试题 1.你说你用过读写锁,锁饥饿问题是什么? 2.有没有比读写锁更快的锁? 3.StampedLock知道吗?(邮戳锁/票据锁) 4.ReentrantReadWriteLock有锁降级机制策略你知道吗? 在并发编程领域,有多线程进行提升整体性能&…

c++ - 抽象类 和 多态当中一些问题

抽象类 纯虚函数 在虚函数的后面写上 0 ,则这个函数为纯虚函数。 class A { public:virtual void func() 0; }; 纯虚函数不需要写函数的定义,他有类似声明一样的结构。 抽象类概念 我们把具有纯虚函数的类,叫做抽象类。 所谓抽象就是&a…