基础知识:语言、编程、计算机组成、cpu、存储器
2019年3月18日
一、
语言:一种事物与另外一种事物沟通的介质。
编程语言:程序员与计算机沟通的介质。
编程:把要让计算机做的事用一种编程语言表达出来。
为何要编程?
为了让计算机按照人类的思维逻辑去工作,从而解放人力。
在编程的世界里,计算机就是人的奴隶,编程的目的就是为了奴役计算机。
二、计算机的组成:(五大组成部分)
控制器:控制系统
运算器:数学运算和逻辑运算
控制器和运算器统称为CPU,即中央处理器。
存储器:存取数据
内存:存取速度快,断电数据全部丢失
外存:机械硬盘、固态硬盘、磁带。
存取速度远慢于内存,断电数据全部保留
输入设备input,如键盘、鼠标
输出设备output 如显示器
输入设备和输出设备统称为IO。
运行程序的三大核心硬件:CPU、内存、硬盘。
运行一个程序的经历:代码数据从硬盘加载到内存,CPU从内存读取程序代码然后执行。
三、CPU
64位cpu具有向下兼容性,64的cpu可以执行32的软件,但32的cpu只能执行32的软件。
四、存储器
存取单位:
8bit=1Bytes(字节)
1024Bytes=1KB
1024KB=1MB
1024MB=1GB
1024GB=1TB
1024TB=1PB
IO读取速度的瓶颈:机械硬盘的平均寻道时间(机械磁盘在找指定数据,磁头寻找数据所在磁道所花的时间,一般平均在5ms左右)
+机械硬盘的平均延迟时间(磁头找到数据所在磁道后转半圈的时间。以7200转的机械硬盘来说,7200转/分钟=120转/秒=0.12转/ms,
所以转一圈所需时间为1/0.12=8ms,半圈就是4ms)
=9ms
所以一个7200转的机械硬盘一次IO的时间大约平均在9ms左右。
当内存空间不够用的时候,系统为了保证继续运行,会调用机械硬盘一部分空间作为“虚拟内存”(swap分区)。
五、一套完整的计算机系统分三层:应用程序、操作系统、计算机硬件
六、操作系统
协调、控制、管理计算机硬件资源和应用软件的一个控制程序。
应用程序是通过操作系统间接控制硬件的。
基础知识:语言、编程、计算机组成、cpu、存储器的更多相关文章
- java基础知识——网络编程、IO流
IO流 字节流:处理字节数据的流对象,计算机中最小数据单元就是字节.InputStream OutputStream 字符流:字符编码问题,将字节流和编码表封装成对象就是字符流.Reader Writ ...
- Linux基础知识_Shell编程笔记
以下是一些 常用功能 , 基于 centos 6.5 x64 # cp /etc/localtime /etc/localtime.org # rm /etc/localtime # ln -s /u ...
- Java基础知识➣多线程编程(五)
概述 Java 给多线程编程提供了内置的支持.一个多线程程序包含两个或多个能并发运行的部分.程序的每一部分都称作一个线程,并且每个线程定义了一个独立的执行路径.使用多线程也是为了充分的利用服务器资源, ...
- Shell基础知识和编程规范
一,Shell环境查看 1.1 查看系统Shell支持情况 [root@linux-node1 ~]# cat /etc/shells /bin/sh /bin/bash /sbin/nologin ...
- python基础知识-GUI编程-TK-StringVar
1.如何引出StringVar 之前一直认为StringVar就是类似于Java的String类型的对象变量,今天在想要设置StringVar变量的值的时候,通过搜索发现StringVar并不是pyt ...
- 编程必备基础知识|计算机组成原理篇(09):CPU的控制器和运算器
计算机基础方面的知识,对于一些非科班出身的同学来讲,一直是他们心中的痛,而对于科班出身的同学,很多同学在工作之后,也意识到自身所学知识的不足与欠缺,想回头补补基础知识.关于计算机基础的课程很多,内容繁 ...
- Notes 20180505 : 计算机的基础知识
总是想要去深入了解一下计算机,可真正去了解的时候才发现那并非一日之功,关于计算机的学习,并未放弃,但是化知识为笔记尚需时日,今日我们先简单了解一下计算机,然后开始Java语言的学习. 1 计算机的基础 ...
- java基础知识一
1.计算机基础知识概述 (1) 计算机 计算机(computer)俗称电脑,是一种用于高速计算的电子计算机器,可以进行数值计算,又可以进行逻辑计算,还具有存储记忆功能.是能够按照程序运行,自动.高速处 ...
- 【分享】4412开发板-嵌入式Linux开发须要掌握的基础知识和技能
本文转自迅为电子论坛:http://www.topeetboard.com 1.Linux 基础 安装Linux操作系统 Linux文件系统 Linux经常使用命令 Linux启动过程具体解释 熟悉L ...
- TCP/IP协议(一)网络基础知识
参考书籍为<图解tcp/ip>-第五版.这篇随笔,主要内容还是TCP/IP所必备的基础知识,包括计算机与网络发展的历史及标准化过程(简述).OSI参考模型.网络概念的本质.网络构建的设备等 ...
随机推荐
- UWP中实现大爆炸效果(一)
自从老罗搞出大爆炸之后,各家安卓都内置了类似功能.UWP怎么能落下呢,在这里我们就一起撸一个简单的大爆炸实现. 闲话不说,先上效果: 因为代码太多,所以我打算写成一个系列,下面是第一篇的正文: 首先, ...
- Android ROM包定制(解包,增删模块,打包)
1. 解包 假设有一个名为update.zip的ROM包,我们要在Ubuntu下对它进行定制.首先把system.transfer.list和system.new.dat.br(有些旧版的系统的镜像可 ...
- [Active Learning] Multi-Criteria-based Active Learning
目录 1 Informativeness 2 Representativeness 3 Diversity 3.1 Global consideration 3.2 Local considerati ...
- 对抗明文口令泄露 —— Web 前端慢 Hash
(更新:https://www.cnblogs.com/index-html/p/frontend_kdf.html ) 0x00 前言 天下武功,唯快不破.但在密码学中则不同.算法越快,越容易破. ...
- 自学java能不能找到找到一份java工作。
关于自学Java能不能通过社招找到一份互联网公司Java开发的工作,有无数的人问出这样的问题,答案没有标准的,只能从概率去考虑.有的人可以,有的人不可以,有的人自学就业的概率就是高,有的概率就是低. ...
- happyChat开发系列:使用websocket.io实现双向通信的乐聊大前端开发
一.前言 乐聊是一个自己用websocket写一个完整的应用,虽然功能比较欠缺,但是实现了基本的文字聊天,以及群聊,私聊,机器人聊天等功能.因为这个自己做了PC端,无线端(手机端),以及使用cordo ...
- MyBatis中主键回填的两种实现方式
主键回填其实是一个非常常见的需求,特别是在数据添加的过程中,我们经常需要添加完数据之后,需要获取刚刚添加的数据 id,无论是 Jdbc 还是各种各样的数据库框架都对此提供了相关的支持,本文我就来和和大 ...
- SpringCloud学习系列之五-----配置中心(Config)和消息总线(Bus)完美使用版
前言 在上篇中介绍了SpringCloud Config的使用,本篇则介绍基于SpringCloud(基于SpringBoot2.x,.SpringCloud Finchley版)中的分布式配置中心( ...
- 强化学习(十三) 策略梯度(Policy Gradient)
在前面讲到的DQN系列强化学习算法中,我们主要对价值函数进行了近似表示,基于价值来学习.这种Value Based强化学习方法在很多领域都得到比较好的应用,但是Value Based强化学习方法也有很 ...
- 使用PixiJS做一个小游戏
PixiJS PixiJS使用WebGL,是一个超快的HTML5 2D渲染引擎.作为一个Javascript的2D渲染器,Pixi.js的目标是提供一个快速的.轻量级而且是兼任所有设备的2D库. 官方 ...