【linux】进程(一)

1. 冯诺依曼体系结构

计算机基本都遵循着冯诺依曼体系

我们使用的计算器是由一个个硬件构成的:

  1. 中央控制器(CPU) : 运算器 + 控制器 等
  2. 输入设备 : 键盘,鼠标,网卡 等
  3. 输出设备 : 显示器,网卡 等

注意:

  1. 这里的存储器指的是内存
  2. 不考虑缓存情况,这里的CPU能且只能对内存进行读写,不能访问外设 (输入或输出设备)
  3. 外设(输入或输出设备)要输入或者输出数据,也只能写入内存或者从内存中读取
  4. 所有设备都只能直接和内存打交道

(这样设计都是因为内存里的寄存器运行很快,外设运行速度慢,而 CPU 处理速度相对折中)

对冯诺依曼体系的理解 举例

从你登录上qq开始和某位朋友聊天开始,数据的流动过程**,**从你打开窗口,开始给他发消息,到他的到消息之后的数据流动过程。如果是在qq上发送文件呢?

2. 操作系统

a. 概念

任何计算机系统都包含一个基本的程序集合,称为操作系统

操作系统包括:

  1. 内核(进程管理,内存管理,文件管理,驱动管理)
  2. 其他程序(例如函数库,shell程序等等)

b. 设计OS的目的

  1. 对下:更好地管理各种软硬件资源(手段)
  2. 对上:给用户提供一个良好的环境 (目的)

c. 如何理解 "管理"

先描述后组织

画图

d. 系统调用和库函数概念

  1. 在开发角度,操作系统对外会表现为一个整体,但是会暴露自己的部分接口,供上层开发使用,这部分由操作系统提供的接口,叫做系统调用
  1. 系统调用在使用上,功能比较基础,对用户的要求相对也比较高,所以,有心的开发者可以对部分系统调用进行适度封装,从而形成库,有了库,就很有利于更上层用户或者开发者进行二次开发
相关推荐
女神下凡7 小时前
芯参谋(87):Linux 系统(SPI NOR)驱动开发指南
linux·运维·arm开发·驱动开发·嵌入式硬件·设计规范
wuminyu13 小时前
JVM规范学习总结:解释器与JIT编译器如何处理JVM字节码
java·linux·c语言·jvm·c++
IMPYLH14 小时前
Linux 的时间为什么会被拨回去
linux·运维·服务器
叼烟扛炮15 小时前
[Git 实战] 学习笔记:从生成 SSH 密钥到解决 TortoiseGit 推送报错全指南
linux·运维·笔记·git·学习
xbzb16 小时前
OpenStack 网络管理(理论):Linux 网络虚拟化是 Neutron 的地基
linux·服务器·网络·openstack·network·neutron
Android系统攻城狮17 小时前
Linux FFmpeg深度解析之avcodec_flush_buffers调用流程与实战(十九)
linux·运维·服务器·ffmpeg·车载音视频·ffmpeg音视频进阶
水饺编程18 小时前
第2章:Linux 基础,解压缩【.tar.bz2】压缩包文件
linux·c语言·汇编
Zevalin爱灰灰19 小时前
Linux入门第二部分(ARM裸机篇) 第二章 Cortex-A7 MPCore架构与ARM汇编基础
linux·汇编·arm开发·嵌入式
倔强的石头10619 小时前
【Linux指南】进程通信系列(七):System V 信号量 —— 同步互斥的内核原语
linux·运维·服务器
GeW19 小时前
从"补短板"到"强优势"Linux与数据库认证成为产业跃迁人才支点
linux·数据库