• DAY-1 计算机基础


    一、编程语言的作用及与操作系统和硬件的关系(应用程序>>操作系统>>硬件)

    1、编程语言是人和计算机之间的沟通语言,实现人对计算机的控制,使其实现某些功能

    2、计算机是由硬件—系统—软件组成,软件(应用程序)通过操作系统实现对硬件的控制,应用程序通过编程实现其功能,必须运行在系统之上,系统是程序的载体,所有硬件的操作,需要系统进行控制,如图

    3、CPU-》内存-》磁盘

    CPU即人的大脑,负责运算,内存即人的记忆,负责临时存储,磁盘即笔记本,负责长期的存储

    二、CPU与寄存器,内核态与用户态及如何切换

    1、CPU就是计算机的大脑,通过提取指令-解码-执行,每个CPU都有一套执行指令,任何程序的运行都需要被解码成CPU所认识的指令去执行,CPU通过提取内存中的程序,然后       去执行操作

    内存的运行速度比CPU慢,所以CPU在访问内存指令所花费的时间,比CPU在执行的指令的时间要长,所以CPU会有一个地方用来保存临时数据,就是寄存器,将内存所常用的指令保存在寄存器,让CPU更快的提取,保证计算机更快的运行

    寄存器分为通用寄存器、程序计数器、堆栈指针、程序状态字寄存器

    2、CPU通过指令解码运行时,一般会同时运行多个程序,当多个指令同时取出和运行时,CPU为了保证所有程序在同一时间运行,将所有指令装入一个保持缓冲区,然后同时运行

    CPU一般有2种运行模式,即内核态和用户态

    内核态:当CPU在内核态运行时,CPU可以执行集中所有的指令

    用户态:当程序在用户态下运行,仅仅只能执行CPU整个指令集的一个子集,该子集中不包含操作硬件功能的部分

    用户态在工作状态中所运行的程序,不可以访问硬件,但大部分程序是需要通过硬件才可以实现其功能的,这时将启用系统调用,实现用户态向内核态的转换

    三、存储器系列,L1缓存,L2缓存,内存(RAM),EEPROM和闪存,CMOS与BIOS电池

    计算机第二重要的就是存储器了,存储区一般分为寄存器、高速缓存、内存、磁盘、磁带,寄存器容量最小,速度最快;磁盘容量最大,速度最慢

    寄存器即L1缓存,材质就是CPU材质,所以速度最快,高速缓存即L2缓存

    L1与L2的差别在于对cpu对L1的访问无时间延迟,而对L2的访问则有1-2个时钟周期(即1-2ns)的延迟。

    内存,是系统存储器的主力,通常称为随机访问存储RAM,内存的容量在不断增多,主要是临时性存储,断电后就会消失

    EEPROM(Electrically Erasable PROM,电可擦除可编程ROM)和闪存(flash memory),属非易失性的,在便携式电子设备中中,闪存通常作为存储媒介。闪存是数码相机中的胶卷,还应用于固态硬盘

    CMOS与BIOS电池

    CMOS是主板上的一块可读写的RAM芯片,是用来保存BIOS硬件配置和用户对某些参数的设定。CMOS可由主板的电池供电,即使系统掉电,信息也不会丢失

    四、磁盘结构,平均寻道时间,平均延迟时间,虚拟内存与MMU

    磁盘的结构如下:

    数据存放在每一段一段的扇区,从磁盘中读取数据时,都会产生一定的寻道时间和延迟时间

    平均寻道时间就是,当要读取数据时,磁盘读写头找到数据所存在的磁道所花费的时间,但是还不知道具体的位置

    平均延迟时间就是,在磁道上找到所要读取数据的时间,这段时间要延迟时间

    虚拟内存,当计算机运行的程序大于实际的物理内存时,将不需要执行的程序放入磁盘的某个地方,这个地方就是虚拟内存

    MMU即存储器管理单元Memory Management Unit),是CPU其中的一个部件,更快实现虚拟内存和物理内存中程序的转换

    五、磁带

    在价钱相同的情况下比硬盘拥有更高的存储容量,虽然速度低于磁盘,但是因其大容量,在地震水灾火灾时可移动性强等特性,常被用来做备份。(常见于大型数据库系统中)

    六、设备驱动与控制器

    当计算机装上系统之后,要实现一些硬件的功能,比如声音和显示,这时就需要安装驱动去实现这些功能,驱动在实现这些功能的过程,就需要通过控制器这个端口去实现

    七、总线与南桥和北桥

    计算机由很多硬件组成,让它们有效的运行,就需要将它们进行连接

    北桥即PCI桥,连接高速设备

    南桥即ISA桥,连接慢速设备

    八、操作系统的启动流程

    1、计算机通电

    2、BISO(基本输入输出系统)开始运行,检测硬件

    3、BISO读取CMOS(只可读RAM的芯片)存储器的参数,选择启动设备

    4、从读取设备上读取第一个扇区的内容

    5、根据分区信息读入bootloader启动装载模块,启动操作系统

    6、检查设备驱动是否存在

    九、应用程序的启动流程

    1、点击程序

    2、计算机查找程序路径

    3、内存抓取数据

    4、CPU提取—解码—执行

    5、启动程序

  • 相关阅读:
    JavaScript中this指针指向的彻底理解
    JavaScript闭包应用介绍
    Javascript代码中的骚操作
    h2database.com 高级特性
    H2Database高级特性
    BlockingQueue的使用
    谈谈java的BlockingQueue
    Java基于Socket文件传输示例
    java socket 多线程网络传输多个文件
    用JAVA捕获屏幕、屏幕录像、播放
  • 原文地址:https://www.cnblogs.com/fenglinglf/p/6874677.html
Copyright © 2020-2023  润新知