理解进程的一些知识准备

1. 认识冯诺依曼体系结构

计算机有很多的体系结构,但到如今,冯诺依曼体系结构变成了主流。
在这里插入图片描述
输入设备:话筒、键盘、摄像头、鼠标、磁盘、网卡
输出设备:声卡、显示器、打印机、显卡、网卡、磁盘

有的设备既能作为输入设备又能作为输出设备

存储器就是内存。

这里每个硬件都是独立的,所以一个电脑会对应着很多硬件的厂商。但是每个硬件需要通过主板总线连接起来,达到信息/数据在各个硬件设备之间流动(本质是数据的拷贝)的目的。

数据拷贝的整体速度决定着计算机的速率的重要指标。

这里有个问题,存储器(内存)存在的意义是什么?我们直接将输入设备的数据交给CPU处理,然后再给输出设备不是更好吗?恰恰相反,内存的存在很有意义,因为CPU的速度很快,而输入、输出设备的速度很慢,导致整体的效率和输入、输出设备一样很慢,CPU大部分都是闲置状态。所以在这两者之间插入了内存来做缓冲,内存的速度比输入、输出设备快,比CUP慢,输入设备先将数据给内存,内存在给CUP,CUP处理完之后的数据在给内存,内存再给输出设备。所以计算器的整体速率就会和内存相当了。但很多同学可能疑惑,这不应该还是以输出、输出设备的速率为准吗?甚至引入内存还使数据传输绕路了,变得更慢。按道理是这样的,但在软件层的预加载缓存的技术解决了这个问题。

结论:内存的引入使计算机效率不错的前提下,价格相对便宜。

有了上面的体系结构了解,我们很容易知道一个程序运行起来,就是将磁盘上的可执行文件加载到内存里。

2. 认识操作系统

操作系统就是第一个被加载到内存里的软件。
操作系统是一个进行软硬件资源管理软件
在这里插入图片描述

硬件和操作系统之间其实还有一层驱动程序层,驱动程序就是硬件厂商提供用来访问硬件的软件,每个硬件设备都应该有对应的驱动程序,所以操作系统只需要调用驱动程序就能对硬件进行操作了。

如何理解管理呢?

  1. 管理者和被管理者并不需要见面,因为管理的本质是对信息的管理。比如你在学校里很少见到校长,但校长已经把你安排的明明白白了,因为校长有你的信息。管理者的核心工作是根据信息来做决策
  2. 管理者如何管理大量的信息呢?六个大字,先描述再组织。比如操作系统管理硬件,就先要用结构体描述硬件,比如名称、状态等,然后将各个结构体链接起来,对硬件的管理就转换成对这个链表的增删查改。
    先用结构体描述,再用数据结构组织。

为什么要有操作系统?

  1. 提供用户和应用程序的接口:操作系统为用户和应用程序提供了一个简单的界面,使他们能够方便地与计算机系统进行交互和使用各种功能。

  2. 管理计算机资源:操作系统负责管理计算机的各种硬件资源,包括处理器、内存、磁盘、网络等,以确保它们能够有效地被应用程序和用户使用。

  3. 调度任务和进程:操作系统负责调度和管理计算机系统中的各种任务和进程,以确保它们能够按照一定的优先级和顺序进行执行。

  4. 提供文件系统:操作系统提供了一个文件系统,用于管理和组织计算机系统中的各种文件和数据,以便用户和应用程序能够方便地进行存储和访问。

  5. 提供安全和保护机制:操作系统提供了各种安全和保护机制,以确保计算机系统中的数据和资源不受未经授权的访问和破坏。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

机器学习的整个流程

机器学习的整个流程定义了数据科学团队执行以创建和交付机器学习模型的工作流。此外,机器学习流程还定义了团队如何协作合作,以创建最有用的预测模型。 机器学习high level的流程 机器学习流程的关键步骤包括问题探索(Problem Exploration&a…

力扣题目训练(7)

2024年1月31日力扣题目训练 2024年1月31日力扣题目训练387. 字符串中的第一个唯一字符389. 找不同401. 二进制手表109. 有序链表转换二叉搜索树114. 二叉树展开为链表52. N 皇后 II 2024年1月31日力扣题目训练 2024年1月31日第七天编程训练,今天主要是进行一些题训…

2024杭州国际安防展览会:引领数字城市安全与智能未来

随着科技的不断进步,数字城市已经成为未来城市发展的重要趋势。作为数字城市建设的重要组成部分,安防技术的创新与应用对于保障城市安全、提高生活品质具有重要意义。为此,2024杭州国际安防展览会将于4月份在杭州国际博览中心隆重召开&#x…

DFS——连通性和搜索顺序

dfs的搜索是基于栈,但一般可以用用递归实现,实际上用的是系统栈。有内部搜索和外部搜索两种,内部搜索是在图的内部,内部搜索一般基于连通性,从一个点转移到另一个点,或者判断是否连通之类的问题&#xff0c…

react将选中本文自动滑动到容器可视区域内

// 自动滚动到可视区域内useEffect(() > {const target ref;const wrapper wrapperRef?.current;if (target && wrapperRef) {const rect target.getBoundingClientRect();const wrapperRect wrapper.getBoundingClientRect();const isVisible rect.bottom &l…

如何选择日本大带宽服务器?

随着互联网的高速发展,对于大带宽服务器的需求也日益增长。而在日本,由于其先进的网络基础设施和数据中心技术,大带宽服务器成为了许多企业和开发者的首选。那么,如何选择合适的日本大带宽服务器呢? 首先,了解自己的需…

linux☞ Centos 基础篇

切换用户 重启系统、退出 su 用户 ### su switch user 重启系统 reboot 退出当前账户 logout 或者 exit 或者 CtrlD 修改网卡配置文件 vim /etc/sysconfig/network-scripts/ifcfg-ens33 TYPEEthernet:指明网卡类型为以太网 DEVICEens33:指定当前配置的…

c++类和对象(二)

类与对象 一.类的6个默认成员函数1.1类的6个默认成员函数 二.构造函数2.1.1构造函数的概念2.1.2构造函数的特性 三.析构函数3.1.1概念3.1.2特点 四.拷贝函数4.1.1概念4.1.2特征 一.类的6个默认成员函数 1.1类的6个默认成员函数 在C中,如果在一个类中什么成员都没有…

docker maven插件使用介绍

1、配置docker连接 开放docker tcp连接参考本专栏下令一篇文章 2、docker service窗口 3、根据dockerfile 构建镜像 注意 idea 用通过管理员身份启动,否则连不上docker 构建前添加maven goal 打包 4、运行镜像 创建容器 5、运行docker compose 报错 需要先配置d…

Java并发之synchronized详解

☆* o(≧▽≦)o *☆嗨~我是小奥🍹 📄📄📄个人博客:小奥的博客 📄📄📄CSDN:个人CSDN 📙📙📙Github:传送门 📅&a…

QtAV学习:(一)Windows下编译QtAV

QtAV 主页: QtAV by wang-bin 作者的编译构建说明文档: Build QtAV wang-bin/QtAV Wiki GitHub 我的编译环境: 编译环境:win10/msvc2015/Qt5.6.3 第一步:GitHub拉取代码,执行子模块初始化 地址: …

web前端-------弹性盒子(2)

上一讲我们谈的是盒子的容器实行,今天我们来聊一聊弹性盒子的项目属性; *******************(1)顺序属性 order属性,用于定义容器中项目的出现顺序。 顺序属性值,为整数,可以为负数&#xff…

数仓建设规范

目录 前言 一、数据模型设计规范 1.1 数仓分层原则 1.2 主题域划分原则 1.3 数据模型设计原则 1.4 数据模型管理的目标 1.5 数仓建模的方法 1.5.1 维度建模 1.5.2 三范式建模 1.5.3 三范式与维度建模区别 二、数仓公共开发规范 2.1 层次调用规范 2.2 数据类型规范…

redis(4)

文章目录 一、redis主从复制redis 主从复制架构主从复制实现命令行配置同步日志修改slave节点配置文件 主从复制故障恢复主从复制故障恢复过程介绍主从复制故障恢复实现 实现redis的级联复制主从复制优化主从复制过程主从同步优化配置 常见主从复制故障汇总master密码不对Redis…

C系列-柔性数组

🌈个人主页: 会编程的果子君 ​💫个人格言:“成为自己未来的主人~” 目录 ​编辑 柔性数组 柔性数组的特点 柔性数组的使用 柔性数组的优势 柔性数组 也许你从来没有听说过柔性数组这个概念,但是它确实是存在的,C99中&#…

python 安装 流程

1. 下载python解析器。(根据软件安装提示,傻瓜式操作。勾选 将其添加到path 环境变量)Download Python | Python.org 2. 在Python环境中 安装selenium模块 命令行中 运行 pip install selenium 如果你使用的是Python3,可能需要…

list基本使用

list基本使用 构造迭代器容量访问修改 list容器底层是带头双向链表结构&#xff0c;可以在常数范围内在任意位置进行输入和删除&#xff0c;但不支持任意位置的随机访问&#xff08;如不支持[ ]下标访问&#xff09;&#xff0c;下面介绍list容器的基本使用接口。 template <…

租用海外服务器丢包是什么情况?

在当今的互联网时代&#xff0c;海外服务器租用已经成为了许多企业和个人的选择。然而&#xff0c;在使用海外服务器的过程中&#xff0c;有时会出现丢包的情况&#xff0c;这给用户带来了不小的困扰。那么&#xff0c;租用海外服务器丢包是什么情况呢&#xff1f;本文将对此进…

Java Arrays 的相关操作数组排序

Java Arrays 的相关操作数组排序 package com.zhong.arrays;import java.math.BigDecimal; import java.util.Arrays; import java.util.Comparator;public class ArraysDemo {public static void main(String[] args) {int[] arr {10, 20, 40, 30, 90, 60, 10, 30, 50};// A…

profinet转CANopen网关在博图如何配置profinet从站步骤

Profinet转CANopen网关&#xff08;XD-COPNm20&#xff09;是一种用于实现CANopen设备与Profinet网络连接起来进行设备之间的数据交换和通信的设备。CANopen和Profinet是两种常见的工业通信协议&#xff0c;它们在自动化控制系统中有着广泛的应用。因此CANopen转Profinet网关在…
最新文章