Day 02 计算机的基本组成及工作原理
目录
计算机的构成
CPU
控制器
运算器
存储器
内存
优点: 速度快
缺点: 容量小,断电既丢失
外存
优点:容量大,永久记忆
缺点:速度慢
I/O (input & output)
输入设备
鼠标/键盘
输出设备
显示器/打印机
什么是编程语言
什么是语言,中文,英语等是用来沟通交流的工具
编程语言:人类和计算机沟通交流的工具
什么是编程
将自己脑子中的想要让计算机做的事,写到文件中。是一堆文件,这一堆文件就是程序。
为什么要编程
想要奴役计算机,把计算机当成人类的奴隶,让计算机帮人类工作,因而取代人力。
多核CPU
一个CPU相当于一个大脑,多核CPU:计算机同时拥有多个CPU, 同一时刻处理多件事情(多进程)
单核处理器运行多个任务会存在时间差
32位和64位
计算机如何存储图片:计算机只认识0(低电频)和1(高电频),图片的本质就是一串0和1
光盘--》凹0凸1刻印
32位--》计算机一次性能处理32个0或1
64位--》计算机一次性能处理64个0或1
32位和64位本质上是同一类东西
安装包是64位的,计算机是32位--》丢包
安装包32位的,计算机是64位的--》向下兼容
机械硬盘工作原理
机械手臂
读取数据
磁道
存储数据
扇面
将每个磁道等分为若干弧段,每个弧段就是一个扇区。每个扇区的大小是固定的,为 512Byte。扇区也是磁盘的最小存储单位。
平均寻道时间
机械手臂找到磁道的时间(工业水平限制:5ms)
平均延迟时间
手臂找到数据的时间
寻找数据的时间=平均寻道时间+平均延迟时间
固态硬盘
基于电容存储,包含压缩数据算法
优点:不需要机械手臂;基于点存储
思考:如果只有刚刚说的五大组成,你要读取数据,只能自己滑动机械手臂
什么是文件
存储信息的介质,是操作系统提供的一个虚拟的概念,就是这个虚拟的概念可以用来存储信息,帮我们滑动了机械手臂
文件接口 (有操作系统提供)把复杂的硬件操作的简单化
操作系统有什么用
提供给我们一个一个接口,让我们不在关心硬件的复杂操作,让复杂的硬件操作简单化
应用程序的启动
以QQ为例
- 双击Windows桌面的QQ图标(qq.exe对应路径的快捷方式)
- 双击图标就是给操作系统发送指令,告诉操作系统QQ软件对应的硬盘地址,并让操作系统启动这个路径
- 操作系统接收到指令操控CPU发送指令给内存
- 内存接受指令后发送指令给硬盘,硬盘读取QQ软件代码给内存,QQ启
计算机系统的组成(有了操作系统后)
- 应用程序(软件):和操作系统交互
- 操作系统(软件):和硬件交互
- 硬件:和硬件交互
操作系统的启动(开机)
操作系统本身也是一个软件,要启动软件就需要依靠操作系统找到软件在硬盘上的位置
操作系统代码由硬盘读入内存(依靠BIOS程序),CPU运行操作系统代码(CMOS存储器),运行成功后操作系统接管操作硬件的工作。
计算机只认识0和1(二进制)
机器语言
只有0和1
计算机内部只能接受二进制代码,因此,用二进制代码0和1描述的指令称为机器指令,全部机器指令的集合构成计算机的机器语言
优点:执行速度非常快,直接和硬件交互
缺点:开发速度非常慢
汇编语言
汇编语言类似于机器语言,但是汇编语言只是把一串二进制数写成一个英文单词。
汇编语言--》(设备)--》机器语言
优点:开发效率较高
缺点:执行速度较慢(和硬件交互)
高级语言
高级语言直接用人能理解的语言和语法风格编写程序,无需再去考虑复杂的硬件操作
优点:开发效率高
缺点:执行效率低(不在与硬件交互)、
按照翻译方式不同,高级语言又分为编译型和解释型
编译型
编译型类似于谷歌翻译,我们把要翻译的文字全部放进去,一次翻译,下次使用直接使用上一次翻译好的结果。
优点:执行效率高
缺点:开发效率低(调试bug非常复杂)
解释型
类似于同声传译,我们需要翻译的时候,找一个翻译员,对方说一句翻译员翻译一句,下次翻译还是需要一个翻译员一句一句的翻译。
优点:开发效率高
缺点:执行效率低
网络的瓶颈效应
网络通信时间要远远大于程序执行的时间--》忽略程序执行时间--》解释性语言--》Python
操作系统(单机操作的应用程序)--》编译型语言
Day 02 计算机的基本组成及工作原理的更多相关文章
- Linux内核设计第一周 ——从汇编语言出发理解计算机工作原理
Linux内核设计第一周 ——从汇编语言出发理解计算机工作原理 作者:宋宸宁(20135315) 一.实验过程 图1 编写songchenning5315.c文件 图2 将c文件汇编成32位机器语言 ...
- (转)计算机原理学习(1)-- 冯诺依曼体系和CPU工作原理
原文:https://blog.csdn.net/cc_net/article/details/10419645 对于我们80后来说,最早接触计算机应该是在95年左右,那个时候最流行的一个词语是多媒体 ...
- Linux内核设计(第一周)——从汇编语言出发理解计算机工作原理
Linux内核设计(第一周)——从汇编语言出发理解计算机工作原理 计算机工作原理 汇编指令 C语言代码汇编分析 by苏正生 原创作品转载请注明出处 <Linux内核分析>MOOC课程htt ...
- 计算机原理学习(1)-- 冯诺依曼体系和CPU工作原理
前言 对于我们80后来说,最早接触计算机应该是在95年左右,那个时候最流行的一个词语是多媒体. 依旧记得当时在同学家看同学输入几个DOS命令就成功的打开了一个游戏,当时实在是佩服的五体投地.因为对我来 ...
- 《浏览器工作原理与实践》<02>TCP协议:如何保证页面文件能被完整送达浏览器?
前言: 在衡量 Web 页面性能的时候有一个重要的指标叫“FP(First Paint)”,是指从页面加载到首次开始绘制的时长.这个指标直接影响了用户的跳出率,更快的页面响应意味着更多的 PV.更高的 ...
- Ajax工作原理
在写这篇文章之前,曾经写过一篇关于AJAX技术的随笔,不过涉及到的方面很窄,对AJAX技术的背景.原理.优缺点等各个方面都很少涉及null.这次写这篇文章的背景是因为公司需要对内部程序员做一个培训.项 ...
- 关于Ajax工作原理
1.ajax技术的背景 不可否认,ajax技术的流行得益于google的大力推广,正是由于google earth.google suggest以及gmail等对ajax技术的广泛应用,催生了ajax ...
- Ajax工作原理(转)
1.ajax技术的背景 不可否认,ajax技术的流行得益于google的大力推广,正是由于google earth.google suggest以及gmail等对ajax技术的广泛应用,催生了ajax ...
- CentOS 6.5环境下heartbeat高可用集群的实现及工作原理详解
Linux HA Cluster高可用服务器集群,所谓的高可用不是主机的高可用,而是服务的高可用. 什么叫高可用:一个服务器down掉的可能性多种多样,任何一个可能坏了都有可能带来风险,而服务器离线通 ...
随机推荐
- PHP 面试踩过的坑
1.get,post 的区别 **显示有区别 ** get方法是将字符串拼接在地址栏后面可以看见 而post方法看不见 **传递的大小有区别 ** 具体大小和浏览器有关系,ie浏览器是2k其他浏览器的 ...
- 一个简单的C#爬虫程序
这篇这篇文章主要是展示了一个C#语言如何抓取网站中的图片.实现原理就是基于http请求.C#给我们提供了HttpWebRequest和WebClient两个对象,方便发送请求获取数据,下面看如何实 1 ...
- 【SpringBoot | Druid】SpringBoot整合Druid
SpringBoot整合Druid Druid是个十分强大的后端管理工具,具体的功能和用途请问阿里爸爸 1. 在pom.xml中导入包 <!-- alibaba 的druid数据库连接池 --& ...
- python:爬虫2——隐藏自己
一.添加浏览器 方法一: head['User-Agent'] = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, li ...
- gdb(ddd,kdevelop等)调试ZeroIce开发的应用程序,中断信号引起的问题
不作文,只记要点. 1.Ice::Application的程序框架默认对SIGHUP, SIGINT, SIGTERM进行处理.目的就是捕捉Ctrl+C发出信号有序地结束程序.这个功能扰乱了我们使用g ...
- django post请求
django中提交post请求时候,需要携带CSRF,否则会报403错误,此时需要在form中添加{% csrf_token %} 或者注释掉settings.py -> MIDDLEWARE ...
- [ch02-01] 线性反向传播
系列博客,原文在笔者所维护的github上:https://aka.ms/beginnerAI, 点击star加星不要吝啬,星越多笔者越努力. 2.1 线性反向传播 2.1.1 正向计算的实例 假设我 ...
- linux运维与实践
1.容器云计算节点负载值高,通过top可以看到Load Average:70.1 71.3 70.8,虚拟机有8个cpu: cpu使用率高导致(R状态)? 同时在top中观察一段时间,消耗cpu最 ...
- 【论文阅读】TextSnake: A Flexible Representation for Detecting Text of Arbitrary Shapes
TextSnake: A Flexible Representation for Detecting Text of Arbitrary Shapes ECCV2018 北京大学.face++ 思路: ...
- 通过 Python 理解 Mixin 概念
Mixin 的概念 Mixin 即 Mix-in,常被译为"混入",是一种编程模式,在 Python 等面向对象语言中,通常它是实现了某种功能单元的类,用于被其他子类继承,将功能组 ...