zoukankan      html  css  js  c++  java
  • 计算机硬件知识

    一、编程语言的作用及与操作系统和硬件的关系

    编程语言的作用是为了与计算机进行沟通。

    操作系统和硬件的关系,操作系统是硬件系统的首次扩充,可以控制和管理计算机硬件和软件资源,合理对各类作业进行调度,以及方便用户使用的一组程序的集合。

    二、应用程序-》操作系统-》硬件

    应用程序是由编程语言有逻辑得组成,软件必须运行在操作系统上方可使用。操作系统的作用是为了高效得应用计算机硬件而诞生。

    如果要开发应用程序,只需要调用操作系统开放的接口即可。

    三、cpu-》内存-》磁盘

    CPU相当于人的大脑,是为了处理信息。

    内存相当于人的记忆,是为了临时信息。

    硬盘相当于人的笔记,是为了保存信息。

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

    1、 寄存器是CPU得某些特性,为了保存关键变量和临时数据的寄存器。
      寄存器分为通用寄存器、程序计数器、堆栈指针、程序状态字寄存器。

      通用寄存器可用于传送和暂存数据,也可参与算术逻辑运算,并保存运算结果。
      程序计数器是用于存放下一条指令所在单元的地址的地方。
      堆栈指针按“先进后出”的原则存取数据,主要程序用来保存临时数据,局部变量和中断/调用子程序程序的返回地址。
      程序状态字寄存器用来存放两类信息:一类是体现当前指令执行结果的各种状态信息,另一类是存放控制信息。


    2、内核态与用户态的切换,是发生在应用程序和操作系统之间。例如应用程序需要从磁盘读取文件,但是应用程序不能直接操作硬件,
        这是就需要通过系统调用(system call)来得到操作硬件的权限。用户态的特性是有限制,内核态的特性是没有限制。

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

    1、存储器分为寄存器、告诉缓存、内存、硬盘、磁带。读写速度依次递减。


    2、L1缓存即是寄存器,是CPU内部得某些功能,L1和CPU之间访问无时间延迟。
    3、L2缓存即是高速缓存,是CPU内部得某些功能,L2和CPU之间访问有延迟。
    4、内存是易失性存储,断电后数据全部消失。
    5、EEPROM 是电可擦除可编程ROM,非易失性的,可擦除和重新。
    6、闪存也是可擦除和重新,非易失性的,闪存擦除次数过多,会被磨损。
    7、CMOS是易失性的,不加电即丢失。BIOS电池的作用是为CMOS供电得。

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

    1、磁盘结构是由金属盘片、磁头、机械臂等组成。


    2、平均寻道时间就是机器手臂从一个柱面移动到相邻的柱面的时间。
    3、平均延迟时间机械臂到达正确的磁道后,等待旋转到数据所在的扇区的时间。
    4、虚拟内存是磁盘为不需要执行的程序提供存放的某个地方。MMU是存储器管理单元,由cpu中的一个部件负责。

    七、磁带

    磁带比硬盘便宜、移动性强,常被大型数据库系统中用来做备份。

    八、设备驱动与控制器

    控制器是负责控制连接的设备,查找主板上的一块芯片或一组芯片等,从操作系统接收命令。
    设备驱动是为了调用设备而开发的驱动程序,以供操作系统使用。

    九、总线与南桥和北桥

    总线是计算机各种功能部件之间传送信息的公共通信干线。
    北桥是连接高速设备,例如是连接CPU、内存、告诉缓存的设备等。
    南桥是连接慢速设备,例如是连接磁盘、USB、鼠标、键盘的设备等。

    十、操作系统的启动流程

    1、POST加电
    2、BIOS运行,检测硬件:CPU、内存、硬盘等。
    3、BIOS读取CMOS存储器参数
    3、加载BootLoader(MBR)
    4、kernel初始化自身,启动操作系统,检测操作系统和硬件是否有故障。

    十一、应用程序的启动流程

    应用程序通过快捷方式执行启动,操作系统是时刻监控着用户的输入,当检测到有输入指令,操作系统进而对磁盘进行访问,并把数据加载进内存中,CPU再执行。

    参考文档:http://www.cnblogs.com/linhaifeng/p/6523843.html

  • 相关阅读:
    linux进程间通信--信号量
    linux进程间通信--信号通信
    linux进程间通信--管道通信
    探究守护进程及其错误日志处理
    探究wait与waitpid之间的那些事
    探究一下strtok的用法
    文件IO与标准IO探究及总结
    Linux 库的制作--动态库与静态库
    python基础使用
    linux正则表达式使用
  • 原文地址:https://www.cnblogs.com/luchuangao/p/6531932.html
Copyright © 2011-2022 走看看