计算机基础
计算机基础
1.什么是语言?为什么要有语言?
语言,就是人和人之间交流沟通的一种媒介。
用来交流信息。
2.什么是编程?为什么要编程?
编写计算机能看懂的语言。
为了让计算机按照人类的思维逻辑(程序)自发地去工作从而把人力解放出来。
3.什么是编程语言?为什么要有编程语言?
语言是人和人之间沟通的戒指,那么编程语言就是人与计算机之间沟通的介质。
为了更好地控制计算机
4.简述计算机5大组成部分
运算器:执行各种算术运算和逻辑运算,对数据进行加工处理。
控制器:是对输入的指令进行分析,并统一控制计算机的各个部件完成一定任务的部件。
存储器:是计算机记忆或暂存数据的部件。存储器分为内存储器、外存储器。
输入设备:用来接受用户输入的原始数据和程序,并将它们变为计算机能识别的二进制存入到内存中。
输出设备:用于将存入在内存中的由计算机处理的结果转变为人们能接受的形式输出。
5.什么是操作系统?
操作系统是管理计算机硬件与软件资源的计算机程序,同时也是计算机系统的内核与基石。
操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入设备与输出设备、操作网络与管理文件系统等基本事务。
操作系统也提供一个让用户与系统交互的操作界面。
6.计算机系统的三层结构
应用程序
操作系统
计算机硬件
7.什么是平台?什么是跨平台?
平台 = 计算机硬件 + 操作系统
软件/程序可以在不同的平台(Windows、MacOS、Linux)上运行
8.CPU的分类与指令集
CPU分2种,32位(X86)和64位(X86-64)
CPU具有向下兼容性,就像USB3.0可以兼容USB2.0一样,64位的CPU既可以运行64位的程序,同样也可以运行32位的程序。
9.简述一下内核态与用户态
代表CPU的2种工作状态
1.内核态:运行的程序是操作系统,可以操作计算机硬件
2.用户态:运行的程序是应用程序,不能操作计算机硬件
内核态与用户态的转换
应用程序的运行必然涉及到计算机硬件的操作,那就必须有用户态切换到
内核态下才能实现,所以计算机工作时在频繁发生内核态与用户态的转换
10.有哪些存储器?
RAM
随机存取存储器(英语:Random Access Memory,缩写:RAM),也就是内存。
常说的也叫主存,是与CPU直接交换数据的内部存储器。
优点:可读可写,读写速度快,最快DDR4标准的内存读写速度高达50000MB/s
缺点:一旦断电,数据就会丢失
ROM
ROM 是 read only memory的简称,表示只读存储器
只读存储器(ROM)是一种在正常工作时其存储的数据固定不变,其中的数据只能读出,不能写入。
即使断电也能够保留数据,要想在只读存储器中存入或改变数据,必须具备特定的条件。
优点:即使断电也可以保存数据
缺点:只能读取,不能写入,读写速度慢
CMOS
是电脑主板上的一块可读写的RAM芯片。
在电脑主板上用来保存BIOS设置完电脑硬件参数后的数据,这个芯片仅仅是用来存放数据的。
优点:可读可写,可保存数据,耗电量极低
缺点:读写速度慢,断电数据会丢失
硬盘
电脑硬盘是计算机最主要的存储设备,主要分为 “机械硬盘” 和 “固态硬盘” 2种。
机械硬盘(HDD:Hard Drive Disk):
磁道:
一圈数据,对应着一串二进制(1bit代表一个二进制位)
单位换算:
8bit比特(位) = 1Bytes字节
1024Bytes = 1KB
1024KB = 1MB
1024MB = 1GB
1024GB = 1TB
1024TB = 1PB
扇区:
一个扇区通过为512Bytes
站在硬盘的解读,一次性读写数据的最小单为为扇区
IO延迟:
以一个7200rpm的硬盘为例:
7200rpm也就是7200转 / 分钟
120转 / 秒
1次转动花费8ms
平均寻道时间:
机械手臂转到数据所在磁道需要花费的时间
受限于物理工艺水平,目前机械硬盘可以达到的是5ms
平均延迟时间:
转半圈需要花费4ms,受限于硬盘的转速
IO延迟 = 平均寻道时间 + 平均延迟时间
优化程序运行效率的一个核心法则:
能从内存取数据,就不要从硬盘取
IO设备=设备的控制+设备本身
常见的机械硬盘接口:SATA
优点:存储容量大,价格便宜,使用寿命长。
缺点:读写速度慢,最快读写速度约为300M/s;有噪音;震荡易损坏;功耗大。
固态硬盘(SSD:Solid State Disk):
俗固态硬盘是用固态电子存储芯片阵列而制成的硬盘。
SSD由控制单元和存储单元(FLASH芯片、DRAM芯片)组成。
常见的固态硬盘接口:SATA、M.2、PCI-E
优点:读写速度快,最快读写速度约为5000M/s;轻便、功耗小、抗震防摔。
缺点:最大容量小于机械硬盘;价格高;因为擦写次数的限制,寿命短。
11.什么是BIOS?
BIOS:Basic Input Output System,基本输入输出系统
BIOS是被烧录在主板的ROM中的一个程序
(这里说的主板是纯主板,不包括CPU,内存和硬盘之类的硬件)
BIOS中的配置信息会被保存在CMOS中,一旦CMOS断电,这些配置信息就会被清空。
虽然BIOS是一个底层的系统,但是也可以设置密码,开机后先于操作系统执行。
12.操作系统具体启动流程
1.计算机按下开机按钮,通电
2.BIOS开始运行,进行硬件检测:CPU、内存、硬盘...
3.BIOS读取CMOS存储区中的配置参数,选择要启动的硬件设备
4.从启动的硬件设备中读取第一个扇区的信息(引导根据分区格式的不同分为MBR和UEFI)
5.根据分区信息读入bootloader启动装载模块,启动操作系统
6.操作系统询问BIOS,获得配置信息。系统监测设备驱动是否正常,然后将其调入内核
13.应用程序的启动流程
以 “Windows系统”为例:
1.双击 “.exe” 结尾的快捷方式,找到文件的绝对路径
2.操作系统根据文件路径找到exe程序在硬盘的位置,控制其代码从硬盘加载到内存
3.控制CPU从内存中读取之前读入内存的应用程序的代码执行
每天逼着自己写点东西,终有一天会为自己的变化感动的。这是一个潜移默化的过程,每天坚持编编故事,自己不知不觉就会拥有故事人物的特质的。 Explicit is better than implicit.(清楚优于含糊)