首页 > 代码库 > 计算机基础
计算机基础
1.编程语言的作用及与操作系统和硬件的关系
所谓编程语言就是计算机语言,总的来说大概有三类,分别为机器语言,汇编语言,高级语言。计算机运行过程中的每一项甚至每一步的活动,都是按照预先设定的程序进行。我们所写的程序有大量指令集组成,计算机通过执行这些指令集,来实现我们对计算机的控制,并在实际生活中指导我们生产和生活,提升生产效率。对于一台机器,操作系统具有对硬件资源的高度管理权限,可以来直接控制硬件,而应用程序需要在操作系统之上,通过操作系统提供的接口来实现部分硬件的控制。
2.应用程序-》操作系统-》硬件
应用程序的功能实现,需要在安装有操作系统的硬件环境中才能实现,应用程序不能直接控制硬件资源,必需借助于操作系统。
3.cpu-》内存-》磁盘
CPU从内存或缓存中读取指令,放入指令寄存器,按照 取指令-解码-执行 的顺序来执行每一条指令,直至程序执行完毕。但cup并不能直接从磁盘中调用数据、程序或者系统,需要先将相关的内容存储在内存中,以便cup的读取和运行。内存就相当于一个中转站,CPU和内存需要在通电情况下才能存储数据,而磁盘不需要。
4.cpu与寄存器,内核态与用户态及如何切换
对于每个CPU,都有一套适用的指令集,所有软件必需转换成指令集才能执行。由于cpu访问内存的时间多于指令执行的时间,因此在cpu内部有个寄存器,来存储临时数据和关键变量。大部分的CPU都有两种模式,即内核态和用户态。内核态下, cpu可以执行所有指令集,用户态下,用户程序只能执行所有指令集中的一部分子集,或者不包含硬件部分的功能。某些用户程序运行时可能有操作硬件的需求,这时就需要通过系统调用指令来实现内核态和用户态的切换,借用操作系统获得服务。
5.存储器系列,L1缓存,L2缓存,内存(RAM),EEPROM和闪存,CMOS与BIOS电池
在cpu中设计有两个缓存,即L1缓存和L2缓存,L1缓存通常用来将已经解码的指令调用CPU执行引擎,L2缓存通常用来存放最近经常使用的内存字,其中CPU对L1的缓存调用无延迟,对L2缓存会延迟1-2ns;内存也叫主存,即随机访问存储(RAM),断电后存储数据消失。EEPROM和闪存属于非易失性,可擦除和重写,重写时花费时间多于RAM,过多的擦除和重写会增加磨损。CMOS用来存储当前时间和日期,以及递增时间的电路由一单独的电池驱动,也可以保存配置的参数。BIOS的供电由CMOS提供,电脑关闭后,继续为BIOS模块供电,以保存BIOS设置信息。
6.磁盘结构,平均寻道时间,平均延迟时间,虚拟内存与MMU
磁盘由一个或者多个金属片组成,并在其边缘有一个机械臂悬在盘面上,机械手臂从一个相邻的柱面移动到另一个柱面所用的时间称为平均寻到时间,当机械手臂找到正确的磁道之后,等到数据旋转到扇区时,这段时间称作延迟时间。当计算机运行的程序大于物理内存时,将暂时不需要运行的程序放到磁盘的某个区域,这块地方成为虚拟内存。MMU即存储器管理单元,它负责虚拟地址到物理地址的映射。
7.磁带
磁带比磁盘有着更多存储量,但存储速度较慢,但有个有个优点就是可移动性强,在关键时刻可以大幅减少数据损失。
8.设备驱动与控制器
设备驱动程序是系统提供的一种通道程序,用于传递请求I/O进程和设备控制器的信息,控制器是查找主板上的一块或者一组芯片,它通过接收来自操作系统的指令来控制它所连接的设备。
9.总线与南桥和北桥
总线是CPU,内存,输入输出设备传送信息的公用通道,主机的各个部件通过总线相连,北桥及PCI桥,连接高速设备,南桥即ISA桥,连接慢速设备
10.操作系统的启动流程
计算机主板上有一个基本的输入输出程序(BIOS),也相当于一个操作系统,为电脑提供最低级最直接的硬件控制的程序,它是连通软件程序和硬件设备之间的枢纽,该程序存放于一非易失性闪存ROM中。
1.计算机加电
2.BIOS开始运行,检测硬件:cpu、内存、硬盘等
3.BIOS读取CMOS存储器中的参数,选择启动设备
4.从启动设备上读取第一个扇区的内容(MBR主引导记录512字节,前446为引导信息,后64为分区信息,最后两个为标志位)
5.根据分区信息读入bootloader启动装载模块,启动操作系统
6.然后操作系统询问BIOS,以获得配置信息。对于每种设备,系统会检查其设备驱动程序是否存在,如果没有,系统则会要求用户安装设备驱动程序。一旦有了全部的设备驱动程序,操作系统就将它们调入内核。然后初始有关的表格(如进程表),创建需要的进程,并在每个终端上启动登录程序或GUI
11.应用程序的启动流程
输入设备先将指令发给控制器,然后控制器通过驱动将请求发给操作系统,操作系统通过应用程序的安装路径去硬盘上寻找相关文件,操作系统找到文件以后会往内存里读,CPU执行完指令后应用程序启动。
计算机基础