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 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 计算机的工作原理 -> 正文阅读

[系统运维]计算机的工作原理

目录

一、冯诺依曼体系

二、java进程

三、进程

1、操作系统

2、进程管理


一、冯诺依曼体系

  • ?CPU中央处理器:进行算术运算和逻辑判断;
    1)运算器:进行逻辑运算
    2)寄存器:cpu执行进程时,保存进程需要的数据
    3)控制器:if、while控制语句的执行方向
  • 存储器:分为内存和外存,用来存储数据(使用二进制存储)
  • 输入设备
  • 输出设备

存储空间:硬盘>内存>>cpu

数据访问速度:cpu>>内存>硬盘

程序:静态的可执行文件(java.exe)

二、java进程

?编译型语言和解释型语言:

  • 编译型语言:需要编译的编程语言
  • 解释型语言:运行时,将代码翻译为cpu可以执行的机器码

为什么Java程序可以跨平台?

对于Java语言,既是编译型语言,也是解释型语言。静态编译java文件为class字节码文件;

Java进程启动后,就会创建一个Java虚拟机,便运行便翻译字节码为机器码(便运行便翻译,效率较低)。而对于C++,直接静态编译为具体某个系统的机器码,所以其不可跨平台(效率比较高)。

三、进程

进程是由操作系统创建并管理的。

jdk、jre、jvm之间的关系

1、操作系统

操作系统是一组做计算机资源管理的软件的统称。常见的操作系统:Windows系列、Unix系列、
Linux系列、OSX系列、Android系列、iOS系列等。

?操作系统向上可以管理进程,向下可以管理硬件(通过硬件的驱动程序来管理)。

2、进程管理

(1)进程:系统分配资源(内存、网络、硬盘)的最小单位。

默认创建三个文件描述符:

?(2)cpu:多核cpu,就是将多个cpuu捆绑在一起,安装在电脑中;meigecpu核心,都可以执行进程的代码指令。

(3)系统管理进程:会先创建一个进程的pcb结构体(用于描述进程信息),包括:

  1. pid:标识进程的身份(类似数据库主键)
  2. 状态:包括运行、阻塞等状态
  3. 内存指针:进程的内存地址
  4. 资源清单:io设备和硬盘文件
    文件描述符表:定位硬盘中的文件:
    默认创建三个文件描述符:System.out,System.err,System.in
  5. 调度信息:进程执行了多少代码,等待了多久
  6. 上下文

(4)系统对进程的调度

系统中,进程的数量远远大于cpu的核心数,为什么给我们的感觉,是在同时进行?

时间片轮转调度算法:一个cpu以时间片轮转调度(一个进程一个时间片,执行一段时间,就切换到下一个进程继续执行)的方式,依次执行多个进程。

操作系统管理进程,也是类似cpu执行一段时间,只是相对于人眼感知不到。

抢占式调度:有优先级比较高的任务,就需要以抢占式的方式优先执行。

上下文:时间片切换出去,保留上下文(主存);切换回来,要恢复下文(寄存器)

(5)进程的状态

一个进程是就绪态还是运行态,是由系统调度决定的,进程是无法感知的。

并发和并行;

  • 并发:一个cpu以时间片轮转调度的方式,执行多个进程,给我们感觉像是同时执行(实际是肉眼无法感知的小范围时间)
  • 并行:多个cpu在同一时间点,同时执行多个进程

计算机中,即存在并发,也存在并行。

(6)进程:虚拟地址空间

?通过进程的虚拟地址空间,映射到物理内存。(隔离多个进程的内存→更安全。)

虚拟地址空间(使用分页式存储管理)

虚拟内存:现在操作系统,都会使用一种虚拟内存的技术,用于某些进程进入阻塞等不活跃的状态,把进程需要的数据,放到硬盘中,系统中所有进程使用的内存,就可以超过物理内存的限制(扩展真实使用的内存

进程要加载某些数据:

  1. 通过虚拟的地址空间,查找对应的物理内容中的数据,如果找到,直接使用;
  2. 如果找不到,就产生一个分页式中断,就会再次从虚拟内存保存到硬盘的部分去查找。

(7)进程通信

进程使用虚拟地址空间,内存是互相隔离开的(不能通过共享变量来通信)。

但实际可能需要这样的场景:某些进程间需要一定的执行顺序。

目前:主流操作系统提供的进程通信机制如下:

1. 管道? ?2. 共享内存? 3. 文件
4. 网络? 5. 信号量? 6. 信号

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-04-29 12:31:28  更:2022-04-29 12:31:37 
 
开发: 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 20:05:11-

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