zoukankan      html  css  js  c++  java
  • Oldboy One day(计算机基础)

    正式上课的第一天 知识点总结一下 感谢老师把计算机从头到尾顺了一遍 以前只是大概了解
    1. 编程语言的作用以及与操作系统的关系和硬件的关系:
    编程语言本质是程序员让计算机工作的介质,编程语言开发的软件需要应用在操作系统上 用操作系统与硬件相关联,控制硬件,使计算机工作
    应用程序-》操作系统-》硬件
    2. 计算机最重要的三个 CPU 内存 磁盘
      1)CPU
        CPU是计算机的大脑,从内存中取指令->解码->执行,然后再取指->解码->执行下一条指令,周而复始,直至整个程序被执行完成。
        因为CPU从内存中取指令影响效率,所以需要使用寄存器(用于储存临时数据和关键变量)与CPU采用相同材质 存储量小 速度更快。
       内核态与用户态对比
        内核态权限更高,可以使用CPU所有指令集 使用硬件所有的功能
        用户态权限较小,只能使用CPU指令集中的一个子集 使用部分硬件的功能
        如果需要使用软件读取磁盘文件 需要从用户态切换到内核态,用户程序必须使用系统调用(system call),系统调用陷入内核并调用操作系统,TRAP指令把用户态切换成内核态,并启用操作系统从而获得服务。

        线程与进程:进程是资源单位而线程才是cpu的执行单位。

      2)存储器系列
        寄存器(L1缓存),高速缓存(L2缓存),内存(RAM)EEPROM和闪存,CMOS与BIOS电池(特殊存储),磁盘,磁带
        速度从高到低 存储量从小到大
        CPU从L1缓存中读取数据 L1缓存从L2缓存中读取缓存数据 RAM储存临时数据 断电则数据消失
        EEPROM和闪存 容量高于内存 低于磁盘 速度比磁盘快,闪存应用于固态硬盘,与磁盘内部结构不同
        CMOS:CMOS,它是易失性的,许多计算机利用CMOS存储器来保持当前时间和日期。CMOS存储器和递增时间的电路由一小块电池驱动,所以,即使计算机没有加电,时间也仍然可以正确地更新,除此之外CMOS还可以保存配置的参数,比如,哪一个是启动磁盘等,之所以采用CMOS是因为它耗电非常少,一块工厂原装电池往往能使用若干年,但是当电池失效时,相关的配置和时间等都将丢失。
       磁盘:基本结构:
      磁头
      磁道
      扇区 扇区是磁盘级别的最小读写单位默认512bytes,操作系统级别的最小读写单位是:1block=8*512Bytes
      柱面
      二进制 0 1
      8个bit称为一个字节bytes,1024bytes=1k,1024k=1M,1024M=1G
        数据都存放于一段一段的扇区,即磁道这个圆圈的一小段圆圈,从磁盘读取一段数据需要经历寻道时间和延迟时间
      平均寻道时间:
        机械手臂从一个柱面随机移动到相邻的柱面的时间成为寻到时间,找到了磁道就以为着招到了数据所在的那个圈圈,但是还不知道数据具体这个圆圈的具体位置
      平均延迟时间:
        机械臂到达正确的磁道之后还必须等待旋转到数据所在的扇区下,这段时间成为延迟时间
       虚拟内存:
      是在内存不够使用的情况下 使用一部分磁盘空间作为内存的备用区叫做虚拟内存 读写速度更慢!
       磁带:
      可存储容量更大,速度慢 多用于数据库备份 相比磁盘抗震 拆卸方便!
    3.设备驱动与控制器
      I/O设备一般包括两个部分:设备控制器和设备本身。
      控制器:是查找主板上的一块芯片或一组芯片(硬盘,网卡,声卡等都需要插到一个口上,这个口连的便是控制器),控制器负责控制连接的设备,它从操作系统接收命令,比如读硬盘数据,然后就对硬盘设备发起读请求来读出内容。
      控制器的功能:通常情况下对设备的控制是非常复杂和具体的,控制器的任务就是为操作系统屏蔽这些复杂而具体的工作,提供给操作系统一个简单而清晰的接口
    设备本身:有相对简单的接口且标准的,这样大家都可以为其编写驱动程序了。要想调用设备,必须根据该接口编写复杂而具体的程序,于是有了控制器提供设备驱动接口给操作系统。必须把设备驱动程序安装到操作系统中。
    4.总线与南桥和北桥
       北桥即PCI桥:连接高速设备 如CPU 内存 L2缓存等
       南桥即ISA桥:连接慢速设备 其他USB以及显卡设备等
       总线主板上相互连接的线
    5.操作系统与应用程序的启动流程
      在计算机的主板上有一个基本的输入输出程序(Basic Input Output system)
      BIOS就相当于一个小的操作系统,它有底层的I/O软件,包括读键盘,写屏幕,进行磁盘I/O,该程序存放于一非易失性闪存RAM中。

      操作系统启动流程
      1.计算机加电
      2.BIOS开始运行,检测硬件:cpu、内存、硬盘等
      3.BIOS读取CMOS存储器中的参数,BIOS中存储的选项,选择启动设备
      4.从启动设备上读取第一个扇区的内容(MBR主引导记录512字节,前446为引导信息,后64为分区信息,最后两个为标志位)
      5.根据分区信息读入bootloader启动装载模块,启动操作系统
      6.然后操作系统询问BIOS,以获得配置信息。对于每种设备,系统会检查其设备驱动程序是否存在,如果没有,系统则会要求用户按照设备驱动程序。一旦有了全部的设备驱动程序,操作系统就将它们调入内核。然后初始有关的表格(如进程表),穿件需要的进程,并在每个终端上启动登录程序或GUI
      应用程序启动流程
        点击桌面上的快捷图标(即路径),计算机通过磁盘寻道启动应用程序,在内存中运行 从磁盘中读取文件 从用户态切换到内核态!应用程序正常启动!

  • 相关阅读:
    版本控制之GitHub亲手实验总结
    Java的HashMap是如何实现的?
    Junit
    由swap引发的关于按值传递和引用传递的思考与总结
    C++了解free和delete
    GitHub使用教程
    Oracle下SQL学习笔记
    Flappy Bird
    尾递归与Continuation(转载)
    十步完全理解SQL(转载)
  • 原文地址:https://www.cnblogs.com/lizhaoyu/p/6873819.html
Copyright © 2011-2022 走看看