理解进程的一些知识准备

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

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

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

存储器就是内存。

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

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

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

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

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

2. 认识操作系统

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

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

如何理解管理呢?

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

为什么要有操作系统?

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

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

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

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

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

相关推荐

  1. ORACLE RAC一些基本理论知识

    2024-02-06 23:06:04       7 阅读
  2. 准备一些爬虫面试题

    2024-02-06 23:06:04       40 阅读
  3. C++一些知识

    2024-02-06 23:06:04       27 阅读
  4. vue一些个人理解

    2024-02-06 23:06:04       22 阅读
  5. 数据结构准备知识

    2024-02-06 23:06:04       34 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-06 23:06:04       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-06 23:06:04       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-06 23:06:04       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-06 23:06:04       20 阅读

热门阅读

  1. gerrit(2) | 为什么使用 gerrit

    2024-02-06 23:06:04       35 阅读
  2. C++泛型编程:模板偏特化

    2024-02-06 23:06:04       34 阅读
  3. go语言进阶篇——接口

    2024-02-06 23:06:04       34 阅读
  4. React Emotion 如何优雅的使用样式(一)

    2024-02-06 23:06:04       30 阅读
  5. npm命令

    2024-02-06 23:06:04       29 阅读
  6. Qt应用软件【协议篇】UDP示例

    2024-02-06 23:06:04       29 阅读