IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 08 冯 ? 诺依曼体系结构和操作系统 -> 正文阅读

[系统运维]08 冯 ? 诺依曼体系结构和操作系统


冯 ? 诺依曼体系结构

一个程序在运行起来的第一件事情是将程序加载到内存当中。
笔记本、服务器等计算机,大部分都遵守冯诺依曼体系:
在这里插入图片描述
运算器:对数据进行算术/逻辑运算。
控制器:是计算机的指挥中心,负责决定执行程序的顺序,给出执行指令时机器各部件所需要的操作控制命令。进行非数据性的逻辑控制,比如什么时候将数据加载到内存。
运算器与控制器统称为中央处理器(CPU)

常见的输入设备:键盘、鼠标、摄像头、麦克风、网卡、硬盘等。
常见的输出设备:显示器、声卡、喇叭、网卡、硬盘、打印机等。
同种设备在不同场景下可能属于输入设备,也可能属于输入设备。

输入输出设备也被称为外围设备,简称外设

为什么需要存储器(内存)

内存属于掉电易失性存储介质,也就是关闭计算机或者突然性、意外性关闭计算机的时候,里面的数据会丢失。非易失性存储器在上面的情况下数据不会丢失,像硬盘等外存

内存在计算机中的作用相当于一座桥梁,用以负责诸如硬盘、主板、显卡等硬件上的数据与处理器之间数据交换处理。

所有计算机数据传输到中央处理器(CPU)都是通过内存与中央处理器(CPU)进行传输处理的,由于外设的存储效率很低,所以CPU直接与外设进行数据交换速度很慢。而内存相比外设要快很多,但是比CPU又要慢。
并且由于局部性原理,即CPU访问存储器时,无论是存取指令还是存取数据,所访问的存储单元都趋于聚集在一个较小的连续区域中。所以内存可以对这一个连续的区域进行预加载,相当于数据的缓存区。而CPU处理数据和内存加载数据是可以同时进行的,这样下次CPU就可以直接从内存当中获取数据,速度会快很多。

同理输出数据的时候,CPU将处理完的数据预写入到内存,输出设备需要时再从内存当中获取,这就是缓冲区的概念。例如,缓冲区满了才将数据输出到显示器上,或者使用fflush函数将缓冲区当中的数据直接输出到显示器上。
在这里插入图片描述

在数据层面上,CPU能且只能对内存进行读写,不能访问外设;外设要输入或者输出数据,也只能写入内存或者从内存中读取。
这也就是为什么一个程序在运行起来的第一件事情是将程序加载到内存当中,因为程序(文件)是在硬盘(外设)上的,而CPU只能从内存当中获取数据,所以必须先将程序加载到内存,然后再从内存加载到CPU。


操作系统

任何计算机系统都包含一个基本的程序集合,称为操作系统(OS)。笼统的理解,操作系统包括:
内核(进程管理,内存管理,文件管理,驱动管理)和其他程序(例如函数库,shell程序等等)。

设置操作系统有两个目的:

  1. 为用户程序(应用程序)提供一个良好的执行环境
  2. 做软硬件管理:
    硬件:冯 ? 诺依曼体系中所有的设备
    软件:1.安装、卸载软件,2.在系统层面:文件、进程、驱动

在这里插入图片描述

驱动程序就是为了控制特定的外设而编写的一个专用代码块。如果没有驱动程序,操作系统就必须要包含所有的控制命令以控制每一种可能安装到计算机的硬件设备。这样,不仅操作系统将会难以控制的增大,而且,当新的底层硬件推出的时候,原来的操作系统就会被淘汰。

操作系统相当于管理者,驱动程序可以帮操作系统拿到底层硬件的数据。同时传达操作系统的指令,单独去控制底层硬件。
所以,操作系统不需要亲自管理底层硬件,它只需要把命令传达给驱动程序,由驱动程序管理就可以。
操作系统主要进行以下四项管理:

内存管理:内存分配、内存共享、内存保护以及内存扩张等等。
驱动管理:对计算机设备驱动驱动程序的分类、更新、删除等操作。
文件管理:文件存储空间的管理、目录管理、文件操作管理以及文件保护等等。
进程管理:其工作主要是进程的调度。

至于如何管理,则是先描述,再组织:
将需要管理的信息用结构体描述出来,然后再用对应的数据结构(链表等)组织起来。此时只需要对这个数据结构进行增删改查即可实现管理。

至于操作系统和用户层之间的系统调用接口则是操作系统为了保护自己,对上只暴露了一些接口,而不会让用户直接访问操作系统,这一系列接口被称为系统调用接口。用户操作接口是为了降低用户使用的难度,因为用户直接使用系统调用接口的学习成本太高。实际上在语言级别上使用的各种库,就是封装了系统调用接口的,我们就是通过调用这些库当中的各种函数(例如printf和scanf)进行各种程序的编写。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-10-08 12:08:59  更:2021-10-08 12:09:14 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 17:28:47-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码