JavaEE语法第一章、计算机工作原理

简介: JavaEE语法第一章、计算机工作原理

 【计算机科学速成课】[40集全/精校] - Crash Course Computer Science_哔哩哔哩_bilibili

目录

一、计算机发展史

二、冯诺依曼体系(Von Neumann Architecture)

三、CPU简单介绍

3.1CPU介绍

3.2并行和并发

四、操作系统(Operating System)

4.1操作系统的定位

4.2进程/任务

4.2进程结构体的核心属性(PCB:进程管理快)

4.3CPU 分配 —— 进程调度(Process Scheduling)

4.4内存分配 —— 内存管理(Memory Manage)

4.4.1操作系统对内存资源的分配

4.4.2虚拟地址空间

4.5进程间通信(Inter Process Communication)

4.6线程


一、计算机发展史

计算的需求在人类的历史中是广泛存在的,发展大体经历了从一般计算工具到机械计算机到目前的电子计算机的发展历程。

第一代计算机:埃尼阿克,主频5000(每秒计算5000次)

image.gif编辑

人类对计算的需求,驱动我们不断的发明、改善计算机。目前这个时代是“电子计算机”的时代,发展的潮流是:更快速、更稳定、更微型。计算机的以后将如何发展,期待大家的努力。


二、冯诺依曼体系(Von Neumann Architecture)

现代的计算机, 大多遵守 冯诺依曼体系结构。

image.gif编辑

计算机最核心的部分:

CPU、内存、硬盘、主板、散热器、电源、机箱、显卡

image.gif编辑

    • CPU 中央处理器: 进行算术运算和逻辑判断.
    • 存储器: 分为外存和内存, 用于存储数据(使用二进制方式存储)
    • 输入设备: 用户给计算机发号施令的设备.
    • 输出设备: 计算机个用户汇报结果的设备.

    针对存储空间

    硬盘 > 内存 >> CPU

    针对数据访问速度

    CPU >> 内存 > 硬盘

    认识计算机的祖师爷 -- 冯诺依曼

    冯·诺依曼(John von Neumann,1903年12月28日-1957年2月8日), 美籍匈牙利数学家、计算机科学家、物理学家,是20世纪最重要的数学家之一。冯·诺依曼是布达佩斯大学数学博士,在现代计算机、博弈论、核武器和生化武器等领域内的科学全才之一,被后人称为“现代计算机之父”、“博弈论之父”.

    image.gif编辑


    三、CPU简单介绍

    3.1CPU介绍

    image.gif编辑

    image.gif编辑

    image.gif编辑  

    image.gif编辑

    3.2并行和并发

    image.gif编辑


    四、操作系统(Operating System)

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

    4.1操作系统的定位

    image.gif编辑

    操作系统由两个基本功能:

    1) 防止硬件被时空的应用程序滥用;

    2) 向应用程序提供简单一致的机制来控制复杂而又通常大相径庭的低级硬件设备。

    image.gif编辑

    image.gif编辑

    4.2进程/任务

    每个应用程序运行于现代操作系统之上时,操作系统会提供一种抽象,好像系统上只有这个程序在运行,所有的硬件资源都被这个程序在使用。这种假象是通过抽象了一个进程的概念来完成的,进程可以说是计算机科学中最重要和最成功的概念之一。

    进程是操作系统对一个正在运行的程序的一种抽象,换言之,可以把进程看做程序的一次运行过程;同时,在操作系统内部,进程又是操作系统进行资源分配的基本单位。

    4.2进程结构体的核心属性(PCB:进程管理快)

    计算机内部要管理任何现实事物,都需要将其抽象成一组有关联的、互为一体的数据。在 Java 语言中,我们可以通过类/对象来描述这一特征。

    // 以下代码是 Java 代码的伪码形式,重在说明,无法直接运行
    class PCB {
    // 进程的唯一标识 —— pid;
    // 进程关联的程序信息,例如哪个程序,加载到内存中的区域等
    // 分配给该资源使用的各个资源
    // 进度调度信息(留待下面讲解)
    }

    image.gif

    这样,每一个 PCB 对象,就代表着一个实实在在运行着的程序,也就是进程。

    操作系统再通过这种数据结构,例如线性表、搜索树等将 PCB 对象组织起来,方便管理时进行增删查改的操作。

    image.gif编辑

    image.gif编辑

    image.gif编辑

    image.gif编辑

    4.3CPU 分配 —— 进程调度(Process Scheduling)

    概念:操作系统按照某找策略或规则选择进程占用CPU进行运行的过程

    4.4内存分配 —— 内存管理(Memory Manage)

    4.4.1操作系统对内存资源的分配

    操作系统对内存资源的分配,采用的是空间模式 —— 不同进程使用内存中的不同区域,互相之间不会干扰。

    image.gif编辑

    4.4.2虚拟地址空间

    image.gif编辑

    image.gif编辑image.gif编辑

    image.gif编辑

    image.gif编辑

    4.5进程间通信(Inter Process Communication)

    如上所述,进程是操作系统进行资源分配的最小单位,这意味着各个进程互相之间是无法感受到对方存在的,这就是操作系统抽象出进程这一概念的初衷,这样便带来了进程之间互相具备”隔离性

    (Isolation)“。但现代的应用,要完成一个复杂的业务需求,往往无法通过一个进程独立完成,总是需要进程和进程进行配合地达到应用的目的,如此,进程之间就需要有进行“信息交换“的需求。进程间通信的需求就应运而生。目前,主流操作系统提供的进程通信机制有如下:

    1. 管道

    2. 共享内存

    3. 文件

    4. 网络

    5. 信号量

    6. 信号

    其中,网络是一种相对特殊的 IPC 机制,它除了支持同主机两个进程间通信,还支持同一网络内部非同一主机上的进程间进行通信。

    image.gif编辑

    4.6线程

    image.gif编辑

    目录
    相关文章
    |
    7月前
    |
    定位技术 UED
    卫星电话的工作原理简介
    卫星电话的工作原理简介
    348 0
    |
    3月前
    |
    存储 Java 程序员
    【JavaEE初阶】 计算机是如何工作的
    【JavaEE初阶】 计算机是如何工作的
    |
    4月前
    |
    存储 Java Linux
    JavaEE初阶 01 计算机是如何工作的
    JavaEE初阶 01 计算机是如何工作的
    23 0
    |
    4月前
    |
    存储 算法 Java
    【JavaEE】“探索计算机世界:进程的基本概念与功能“
    【JavaEE】“探索计算机世界:进程的基本概念与功能“
    |
    7月前
    |
    自然语言处理 Java 关系型数据库
    JSP文本相似性比较系统myeclipse开发mysql数据库web结构计算机java编程
    JSP文本相似性比较系统是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发,采用两种比较常见的文本检测对比方法 编辑距离 和 余弦定理。
    34 0
    |
    12月前
    |
    安全 C++
    软件开发入门教程网 之​​数据封装
    所有的 C++ 程序都有以下两个基本要素: **程序语句(代码):**这是程序中执行动作的部分,它们被称为函数。 **程序数据:**数据是程序的信息,会受到程序函数的影响。
    #计算机组成原理# (学第四章先看!!)第四章 存储器简述
    #计算机组成原理# (学第四章先看!!)第四章 存储器简述
    52 1
    #计算机组成原理# (学第四章先看!!)第四章 存储器简述
    |
    存储 消息中间件 缓存
    计算机底层原理概述
    计算机底层原理概述
    计算机底层原理概述
    |
    程序员 Linux Go
    程序的基本概念|学习笔记
    快速学习程序的基本概念
    90 0
    程序的基本概念|学习笔记
    |
    XML 前端开发 Java
    [适合初中级Java程序员修炼手册从0搭建整个Web项目](三)(上)
    前言 文本已收录至我的GitHub仓库,欢迎Star:github.com/bin39232820… 种一棵树最好的时间是十年前,其次是现在
    87 0