主题:计算机基础知识

  • 开发环境
  • 更多干货
  • 定义
  • 作用
  • 组成元件
    • CPU
    • 内存
      • cpu里的高速缓存
      • BIOS软件(基础输入输出系统)
      • CMOS芯片
    • 机械硬盘
      • 组成
      • 数据存取过程
  • 文件编码
    • ASCII
    • GBK
    • UTF-8
  • 工作流程
  • 计算单位
  • 架构和接口设备
  • 软件程序运行
  • 总结:

开发环境

基于:IntelliJ IDEAMaven构建工具JDK1.8Spring4.3.28编写。

更多干货

《穿越 Java 第一章 - 快速入门篇》 《穿越 Java 第十三章 - Spring 基础篇》
《穿越 Java 第二章 - 安装配置篇》 《穿越 Java 第十四章 - Spring 核心篇》
《穿越 Java 第三章 - 基础语法篇》 《穿越 Java 第十五章 - Spring 集成篇》
《穿越 Java 第四章 - 核心语法篇》 《穿越 Java 第十六章 - Spring Mvc篇》
《穿越 Java 第五章 - 关键字篇》
《穿越 Java 第六章 - 工具类篇》
《穿越 Java 第七章 - 集合容器篇》 《穿越 Java 第十七章 - MyBatis 篇》
《穿越 Java 第八章 - 并发编程篇》 《穿越 Java 第十八章 - SpringBoot篇》
《穿越 Java 第九章 - 异常处理篇》
《穿越 Java 第十章 - 网络协议篇》
《 穿越 Java 第十一章 - 网络 IO 篇 》 《穿越 Java 第十九章 - SpringCloud 体系篇》
《 穿越 Java 第十二章 - J V M 篇 》 《穿越 Java 第二十章 - SpringCloud Alibaba体系篇》
《 穿越 Java 第十三章 - Mysql 篇 》 《穿越 Java 第二十一章 - Git 版本管理篇》
《 穿越 Java 第十四章 - Redis 篇 》 《穿越 Java 第二十二章 - Maven构建工具篇》
《穿越 Java 第十五章 - Linux篇》 《穿越 Java - 轻 松 搞 定 面 试》
《穿越 Java 第十六章 - Nginx篇》 《穿越 Java - Web基础篇 》
《穿越 Java 第十七章 - 设计原则篇》
《穿越 Java 第十八章 - 设计模式篇》

定义

首先 认识一下计算机

先copy一段百度百科的话

计算机(computer)俗称电脑,是现代一种用于高速计算的电子计算机器,可以进行数值计算,又可以进行逻辑计算,还具有存储记忆功能。是能够按照程序运行,自动、高速处理海量数据的现代化智能电子设备。

作用

计算机的作用有哪些?
计算机: 输入指令和数据,经过处理后,产生有用的信息。

组成元件

计算机组成元件: 输入单元(鼠标、键盘、触摸板等)、cpu、显卡、主板、内存、硬盘、输出设备(显示器等)、各种接口设备(声卡、网卡等)。

CPU

根据指令集分为2种,精简指令集(R·ISC)和复杂指令集(C·ISC)。

  • 【精简指令集】
    指令数较少,每条指令执行时间很短,完成的操作也很单一,要完成复杂操作需要多条指令。
    IBM的PowerPC(ps3等使用)和ARM系列(手机、路由器等使用)的cpu使用的是这种指令集。

  • 【复杂指令集】
    指令数很多而且都比较复杂,每条指令执行时间较长,能处理的工作比较丰富。
    AMD、Intel等X86架构的cpu使用这种指令集。

  • x86架构:指Intel最早开发出来的cpu叫8086,后开又有80286、80386等,
    所以这种架构的cpu就被称为了x86架构。

内存

cpu所有数据都来自内存

  • 内存的主要组成部分是动态随机访问内存(D·RAM),通电时才能使用,断电后数据消失。

  • 内存容量越大越好,因为所有数据都要加载到内存里才能被cpu读取。

  • 如果现在要加载大量数据到内存里,如果内存没有足够容量就只能释放暂时不用的内存,而释放内存可能会消耗一定的cpu时间,导致系统卡顿。

  • 内存频率最好和所使用的cpu的外频一样。

cpu里的高速缓存

cpu的数据是通过北桥从内存里读出来的,如果不通过北桥,
直接在cpu内部读取就会快很多,因此有了cpu高速缓存。
由于高速缓存在cpu内,要与cpu总体工作频率一致,
D·RAM不支持,需要静态随机访问内存(S·RAM)。

BIOS软件(基础输入输出系统)

BIOS是个程序,管理系统信息、进行开机自检等功能。
bios程序写死在在主板的一个内存芯片里(ROM),ROM芯片没有通电也能记录数据(相当于硬盘)。

CMOS芯片

  • 是一个主板上的可读写的RAM芯片(RAM断电数据消失,所以CMOS有单独的电池)。
  • 这个芯片记录了硬件的各项参数。CMOS的设置通常被写进BIOS里。

机械硬盘

组成

由盘片、机械手臂、磁头和主轴马达组成。

  • 盘片:通常是铝合金圆盘,上面涂了磁性材料。

  • 磁道:每个盘片分成了多个同心圆形的磁道,每个同心圆磁道一般可以存储几kB的。

  • 扇区:每个磁道又平分为多个块,这个块就叫扇区。
    扇区是机械硬盘上存储的物理单位,每个扇区可以存储512字节的数据。
    (z注意h,即使只需要某个字节,也要把扇区里的512B的数据都读出来)

  • 柱面:指不同盘片上的同一个位置的磁道组成的一个面,是一种逻辑上的概念。
    磁盘数据的读写是按柱面进行的,每次从柱面上的第一个磁头开始读写,
    直到柱面上所有磁头都读写完成,磁盘才移到下一柱面。

数据存取过程

主轴马达转动盘片,机械手臂移动磁头在盘片上方(间距不到1微米)来回移动,磁头读写盘片。

文件编码

计算机只会使用0/1记录数据,那人一般是看不懂的,需要把0/1转换一下,转为人能理解的字码。

所以写入数据时,会把字码根据字码对照表(编码系统)转换为0/1,再存入文件。同理,读取文件时,也是读取一堆0/1数据,转换为字码后,展示到屏幕上。

ASCII

常用的编码表是ASCII码,每个符号(英文、数字、符号)占用1B(8bit),
总共会有2的8次幂种组合,所以这种编码只支持256个字符。

GBK

中文用的最多的编码系统是GBK,是对ASCII码的扩展
GBK会有2的16次幂=65532种组合,理论可以表示6万多个中文。

UTF-8

但是各国的文字都不一样,为了统一编码,
出现了全球统一编码Unicode编码,日常使用UTF-8。

工作流程

计算机工作流程: 数据经过输入单元输入到内存里,cpu读取内存数据,进行处理后,写入内存,然后传给输出单元或者存储在本地硬盘里。

计算单位

计算机使用的计算单位:bit(比特),即单个的0或者1。

  • 之所以用这种单位,是因为计算机是根据有没有通电来记录信息的,通电就是1,没通电就是0。
    不断的通断电,记录一串0/1,就是在记录数据。

  • 由于0/1这个单位太小了,日常记录数据都是成千上万个bit,
    所以一般会使用另一个单位:字节Byte,1个字节=8个比特,即1B=8b。

  • 但是由于Byte也很小,所以更常用的是KB,即1024B,或者MB,即1024KB=1024*1024B。

架构和接口设备

主板上有2个桥接器,北桥连接cpu、内存、显卡,南桥连接硬盘、USB、网卡等。

  • cpu有2个主要单元:算数逻辑单元和控制单元。

  • 算数逻辑单元:主要负责程序运算和逻辑控制。

  • 控制单元:主要用于协调各组件与各单元间的工作。

  • 决定性能的因素:指令集和频率(即每秒可以进行的工作次数)
    cpu的频率分外频和倍频,二者相乘才是cpu的频率。

  • 外频:cpu与外部组件进行数据传输/运算时的速度。

  • 倍频:即内频,cpu内部用来加速工作性能的一个倍数

cpu分32位和64位,怎么理解?

cpu每次能处理的数据量成为字组大小,如果一次能处理32位的数据,就称该cpu是32位的,能处理64bit即64位的cpu。

软件程序运行

要使用计算机,需要工程师编程,写代码操作cpu,调用各种硬件,但是这样做有缺点

  • 计算机只能识别0/1,要使用这种机器码编程,很难。

  • 机器码与cpu的指令集耦合性太强,换个机器,又要重新编写代码,成本太高。

为了解决上诉问题,设计了一些人能看得懂的程序语言

  • c 、java、python等,然后使用编译器将这些语言翻译成机器懂的机器码。

  • 现在有了易懂的编程语言,但是很多功能老是要写一些涉及底层硬件基础交互的重复代码,就很耗时间。

  • 所以将与底层硬件打交道的事情统一封装起来,只暴露相关功能的接口给开发者调用,就方便多了。

这个封装好的程序就是操作系统,包括:

  • 内核:负责驱动硬件,分配cpu资源,管理内存、文件。
  • 一堆开发接口:方便开发者调用内核。
  • 操作系统可以管理计算机所有活动和驱动系统中的所有硬件。
  • 比如让驱动内存读取数据,驱动硬盘读写数据,驱动网卡传输数据等。
  • 这个内核程序开机后常驻在内存中。
  • 现在有了能管理硬件的操作系统。
  • 但是操作系统只是能管理而已,有了操作系统只是准备妥当,
  • 如何管理,如何使用硬件去实现各种功能要靠软件来决定。
  • 所以软件就是开发者参考操作系统提供的接口,做出来让用户操作计算机的东西。

计算机从出现至今,经历了机器语言、程序语言、简单操作系统和Linux、Macos、BSD、Windows等现代操作系统四代,运行速度也得到了极大的提升,第四代计算机的运算速度已经达到几十亿次每秒。计算机也由原来的仅供军事科研使用发展到人人拥有,计算机强大的应用功能,产生了巨大的市场需要,未来计算机性能应向着微型化、网络化、智能化和巨型化的方向发展。

总结:

待完善…

目前很多大佬都写过关于本教程了,如有雷同,请多多包涵.

穿越 java | 快速入门篇 - 第1节 计算机基础知识相关推荐

  1. 这样学还不会?小白入门编程第1讲 计算机基础知识 JAVA基础知识 必看

    1 计算机基础知识 1.1计算机 计算机(Computer)全称:电子计算机,俗称电脑.是一种能够按照程序运行,自动.高速处理数据的现代化智能电子设备.常见的形式有台式计算机.笔记本计算机.按照规模分 ...

  2. 码农之路从入门到放弃之:计算机基础知识

    从入门到放弃 计算机基础知识 计算机概述 计算机组成部分 1.硬件部分: 2.软件部分 操作系统(OperatingSystem) 1.windows 简介 1.1.windows--优点 1.2.w ...

  3. Linux操作系统快速入门|Linux操作系统(一)基础知识

    Linux操作系统(一)基础知识 linux官方网站:https://www.linux.org/ linux中国:https://linux.cn/ 前言        准备把以前在知乎上写的一些文 ...

  4. 快速入门 | 篇十四:运动控制器基础轴参数与基础运动控制指令

    之前正运动技术与大家分享了,运动控制器的固件升级.ZBasic程序开发.ZPLC程序开发.与触摸屏通讯和输入/输出IO的应用.运动控制器数据与存储的应用.运动控制器ZCAN.EtherCAT总线的使用 ...

  5. 运动控制器编程_快速入门 | 篇二十一:运动控制器ZHMI组态编程简介一

    点击上方"正运动小助手",随时关注新动态! 运动控制器ZHMI组态编程简介一  今天我们来学习一下,运动控制器的ZHMI组态编程简介.本文主要从产品概述.控制器连接触摸屏使用.HM ...

  6. Lua快速入门篇(基础概述)(Yanlz+toLua+xLua)

    <Lua热更新> ##<Lua热更新>发布说明: ++++"Lua热更新"开始了,立钻哥哥终于开始此部分的探索了. ++++作为游戏发布迭代的重要技术:Lu ...

  7. Lua快速入门篇(XLua教程)(Yanlz+热更新+xLua+配置+热补丁+第三方库+API+二次开发+常见问题+示例参考)

                            <Lua热更新> ##<Lua热更新>发布说明: ++++"Lua热更新"开始了,立钻哥哥终于开始此部分的探 ...

  8. Java快速入门-01-基础篇

    Java快速入门-01-基础篇 如果基础不好或者想学的很细,请参看:菜鸟教程-JAVA 本笔记适合快速学习,文章后面也会包含一些常见面试问题,记住快捷键操作,一些内容我就不转载了,直接附上链接,嘻嘻 ...

  9. Java基础-SSM之mybatis快速入门篇

    Java基础-SSM之mybatis快速入门篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 其实你可能会问什么是SSM,简单的说就是spring mvc + Spring + m ...

最新文章

  1. 在使用Reference Source调试.Net 源代码时如何取消optimizations(代码优化)-翻译
  2. 分布式部署Zabbix监控平台
  3. android 线程太多,应用程序可能在其主线程上做了太多的工作。
  4. 基于python的图片修复程序-可用于水印去除
  5. 54 SD配置-定价配置-分配条件类型到条件排斥组
  6. 100级大橙武升级流程_DNF:女气功升级100级无暇手套,前后伤害对比。
  7. go的实现接口的一个小demo
  8. 实战!轻松搭建图像分类 AI 服务
  9. 方差公式初三_初中数学,一元二次方程的解法:公式法、因式分解法和十字相乘法基础练习...
  10. [蓝桥杯]试题 基础练习 Huffuman树
  11. android修改代码后运行不生效,Android Studio使用Kotlin时,修改代码后运行不生效问题...
  12. 33.go 错误处理
  13. Dll注入技术之驱动注入
  14. C语言题目:输入角度a,输出a的正弦值(sin a)
  15. zte服务器安装linux,ZTE MF637U 在linux下安装全攻略
  16. 在语雀中输入汉语拼音
  17. qq浏览器无小程序版本号与服务器不符,QQ浏览器发力小程序,同时兼容适配微信小程序...
  18. 如何开展兼容性测试?兼容性测试有什么作用?
  19. css3的媒体查询(Media Queries)
  20. 用python进行数据分析葡萄酒,哪里最好

热门文章

  1. Python专栏 | 脑电图和脑磁图(EEG/MEG)的数据分析方法之载入数据
  2. 2021年终总结-----收获、相遇、向前
  3. 经验分享(一)SCAPS-1D太阳能电池模拟软件使用教程-入门
  4. 2022年过去了,我不怀恋它
  5. SQL 数据查询 和 数据更新
  6. matlab 制动曲线,基于Matlab/Simulink的车辆制动过程分析
  7. 机器学习-AdaBoost(自适应提升算法)
  8. 第十八节 多核异构核间通信–ipcc
  9. 我看被和谐新闻的心路历程
  10. 会声会影X6-高级运动等效果的练习实践-与您分享...