首页 > 代码库 > 计算机基础
计算机基础
---恢复内容开始---
计算机基础
一.引言
基础计算机课程共分成四大块:计算机组成原理,数据结构,操作系统和计算机网络。今天兄弟总结了一点点干货给大家瞧一瞧,算做一个入门,嘿嘿!
二.计算机基础介绍
(一)计算机组成
1.计算机层次结构
计算机硬件 +系统软件+应用软件
2.计算机组成和计算机体系结构
计算机体系结构是指那些能够被程序员所见到的计算机系统的属性,如指令系统、寻址地址组成及I/O机理等。计算机组成是指如何实现体系结构所体现的属性,包含对程序员透明的硬件细节,如组成计算机系统的各个功能部件的系统和功能,及相互连接方法等。
3.计算机的构成
硬件系统+软件系统
硬件系统 :运算器+控制器+存储器+输入设备+输出设备
运算器:是负责算数运算与逻辑运算。与控制器共同组成了中央处理器(CPU)
控制器:是负责发送和接收指令
存储器:是用来存储正在进行程序,将要进行程序的数据及刚处理完的数据
输入设备:是用来进行输入的设备。如键盘,扫描仪等
输出设备:是用来进行输出的设备。如显示器,音箱等。
主板:安装了组成计算机的主要电路系统,一般有BIOS芯片,I/O控制芯片,键和面板开关接口,指示灯插接件,扩充插槽,主板及插卡的直流电源供电接插件等元件。
软件系统:系统软件+应用软件
4.硬件,软件及用户的关系:
硬件是基础,硬件通过系统软件控制来启动硬件,并让各个硬件之间相互协同工作,在系统软件的基础上是用户,用户操纵的是操作系统,并在系统软件的基础上安装相应的应用软件,来完成用户所需的工作。所以说最底层的是硬件,硬件上是系统软件,系统软件上一层是应用软件,而最上层的是用户。
5.编程语言
1.用来定义计算机程序的形式语言,分为机器语言,汇编语言和高级语言。
2.编程语言被设计专门使用在计算机上,用来定义算法和数据结构。
(二)数据结构
1.数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关
(三)操作系统
1.操作系统(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。操作系统是用户和计算机的接口,同时也是计算机硬件和其他软件的接口,功能包括管理计算机系统的硬件,软件及数据资源,控制程序运行,改善人机界面,为其他应用软件提供支持,为其他软件的开发提供必要的服务和相应的接口等。实际上,用户不用接触操作系统的,操作系统管理着计算机硬件资源,同时按照应用程序的资源请求,分配资源,如划分CPU时间,内存空间的开辟,调用打印机等。
2.操作系统发展
第一代(真空管和穿孔卡片)——第二代(晶体管和批处理系统)——第三代(集成电路芯片和多道程序设计)——第四代(个人计算机)
(四)计算机网络
1.计算机网络,是指将地理位置不同的具有独立功能的多肽计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。
2.网络七层模型
应用层: 网络服务和最终用户的一个接口 HTTP FTP SMTP TFTP SNMP DNS TELNET HTTPS POP3 DHCP
表示层:数据的表示,安全,压缩。(若5层则加入应用层)格式: JPEG ASCII DECOIC 加密格式
会话层: 建立,管理,终止回话。(若5层则加入应用层)对应主机进程,指本地主机和远程主机正在进行的回话。
传输层: 定义传输数据的协议端口号,以及流控和差错校验。TCP UDP 数据包一旦离开网卡即进到网络传输层。
网络层:进行逻辑地址寻址,实现不同网络之间的路径选择。ICMP IGMP IP(IPV4 IPV6) ARP RARP
数据链路层:建立逻辑链接,进行硬件地址寻址,差错校验等功能。(由底层网络定义协议)将比特组合成字节从而组合成帧,用MAC地址访问介质,错误发现但不能纠正。
物理层:建立,维护,断开物理衔接。(由底层网络定义协议)
3.IP地址分类
(1)公有地址:Inter NIC机构分配给注册组织机构的IP地址。
(2)私有地址:
A类:10.0.0.0~10.255.255.255 子网掩码:255.0.0.0
B类:172.16.0.0~172.31.255.255 子网掩码:255.255.0.0
C类:192.168.0.0~192.168.255.255 子网掩码:255.255.255.0
三.计算机工作过程
根据冯·诺依曼的设计,分为:1.取出指令 2.分析指令 3.执行指令 4.为执行下一条指令做好准备,即取出下一条指令地址
四.计算机硬件介绍
(一)流程:内核-CPU(发送指令集)-寄存器—内存-操作系统-应用软件
(二)CPU:发送指令集(取指令-解码-执行)
(三)内存:负责临时存储
(四)寄存器:保存关键变量和临时数据
分类:1.通用寄存器 帮忙保存临时变量
2.程序计数器 保存将要取出的下一条指令的内存地址,指令取出后,程序计算器就被更新以便执行后期的指令。
3.堆栈指针 指向内存中当前栈的顶端,该栈包含已经进入但还没有推出的每个过程中的一个框架,在一个过程的堆栈框架保存了有关的输入参数,局部变量及那些没有保存在寄存器中的临时变量。
4.程序状态字寄存器(PSW)包含条码位(由比较指令设置),CPU优先级,模式(用户态或内核态),以及各种其他控制位。用户通常读入整个PSW,但只对其中少量的字段写入。在系统调用和I/O中,PWS!!!
(五)堆栈,堆,队列 !!!
队列只能在队头做删除工作,在队尾做插入工作,而栈只在栈顶做插入和删除操作。队列好比火车进洞,“先进先出,后进后出“,
栈就是一个桶,“先进后出,后进先出“
堆是在程序运行时,不是在程序编译时,申请某个大小的内存空间,即动态分配内存。堆可以随心所欲的增加和删除变量,不遵循什么次序,开心就好-.-
堆是程序运行中申请的动态内存,栈只是一种使用堆的方法“先进后出”,两者都是存放数据的地方。
(六)处理器的设计
流水线式的设计,执行n,对n+1解码,并读取n+2。
(七)CPU的两种模式
内核态:执行指令集所有指令(全能)
用户态:仅执行指令集中一个子集(权限控制)
内核态?用户态 (系统调用) 通过操作系统改二进制
(八)多线程和多核芯片
1.进程:资源单位(地铁n号线) 线程:执行单位(线路)
2. Intel和AMD (L2缓存比内存快点)
(九)存储器
1.分类: 寄存器,高速缓存,内存,磁盘,磁带
2.寄存器:L1缓存
高速缓存:L2缓存
主存:随机访问存储RAM,易失性存储,断电后数据全部消失
非易失性随机访问存储:ROM(不能修改),EEPROM和闪存(flash memory) (可擦除和重写,但时间比ROM多)
易失性存储:CMOS,保存当前时间和日期,如电池驱动,还可以保存配置的参数,省电。
(十)磁盘
1.数据存放一段段的扇区
2.8个bit=1Bytes bit:二进制位
1024Bytes=1kB
1024kB=1MB
一个block=8个扇区
3.虚拟内存
将正在使用的程序放入内存中执行,暂时不需要的程序放到磁盘的某个地方。
swap交换分区
PCB:上下文切换,CPU从一个进程或线程到另一个进程或线程,只发生在内核态中。
(十一)磁带
1. 同价钱比硬盘更大存储量,易携带,但速度慢。
2.平均寻道时间:机械手臂从一个柱面随机移动到相邻的柱面的时间成为寻到时间,找到了磁道就以为着招到了数据所在的那个圈圈,但是还不知道数据具体这个圆圈的具体位置
3. 平均延迟时间:机械臂到达正确的磁道之后还必须等待旋转到数据所在的扇区下,这段时间成为延迟时间
(十二)I/O设备
1.组成:设备控制器和设备本身
2.设备驱动:逻辑设备名转换成设备的物理地址,启动指定的I/O设备,完成程序规定的I/O操作,并对由设备发来的中断请求进行及时响应,根据中断类型进行相应的处理。
3.控制方式:
有四种I/O控制方式,即程序I/O控制方式、中断驱动I/O控制方式、直接存储器访问DMA控制方式及I/O通道控制方式。
程序直接控制方式的工作过程非常简单,但在循环测试中浪费了大量的CPU处理时间,所以CPU的利用率相当低。
用中断方式交换数据时,每处理一次I/O数据交换,都会耗去一定的CPU处理时间,为减少中断对CPU造成的负担,对于一些高速的外围设备,以及成组交换数据的情形来说,例如磁盘驱动器,仍然显得速度太慢。可以将一部分I/O任务交给一个的专用DMA控制器。
DMA方式一般用于高速传送成组的数据。其优缺点如下:
优点:操作均由硬件电路实现,传输速度快,CPU仅在初始化和结束时参与,不干预数据传送,可以减少大批量数据传输时CPU的开销。CPU与外设并行工作,效率高。
缺点:DMA方式也有一定的局限性,这是因为DMA方式在初始化和结束时仍由CPU控制,DMA方式周期挪用内存总线,CPU和DMA交替访问内存,通过硬件线路分时地控制这两者对总线的使用权,使得CPU计算效率下降。
(十三)总线
1.北桥: 即PCI桥,连接高速设备
2.南桥:即ISA桥,连接慢速设备
(十四)计算器启动过程
加电——BOIS运行,检测硬件(cpu,内存,硬盘)——BIOS读取CMOS存储器中的参数,选择启动设备——从启动设备行读取第一个扇区的内容(MBR)——根据分区信息读入bootloader启动装载模块,启动操作系统——操作系统询问BIOS,获得配置信息——初始化相关表格,加载进程,并在终端启动登录或GUI
(十五)应用程序的启动过程
点击应用程序(软件)→软件将数据写入内存→CPU从内存中读取数据并执行然后返回内存→启动软件
---恢复内容结束---
计算机基础