`

Day01_计算机硬件及启动流程

 
阅读更多


一.计算机硬件介绍

概念:由一条总线把CPU、内存和I/O设备串联起来并与其他设备进行通信。CPU负责运算,内存用于储存临时变量,硬盘用于储存数据

  应用程序、操作系统及硬件的关系:参考应用程序的启动流程

   处理器CPU(寄存器+控制器)

     取指令->解码->执行,直到程序结束。

     通用寄存器:用来保存变量和临时结果

      程序计数器:它保存了将要取出的下一条指令的内存地址。在指令取出后,程序计算器就被更新以便执行后期的指令

      堆栈指针寄存器:它指向内存中当前栈的顶端。该栈包含已经进入但是还没有退出的每个过程中的一个框架。在一个过程的堆栈框架中保存了有关的输入参数、局部变量以及那些没有保存在寄存器中的临时变量。(知识补充:1.堆栈:就像往箱子里放置叠好的衣服,一件一件往箱子里放,遵循后进先出原则,就像要把第一件衣服取出来,必须从最后一件开始取,直到取出第一件。2.队列:就像排队刷卡出大门,遵循先进先出原则,一条队列,肯定是第一个排队的人刷卡先走)

      程序状态字寄存器(PSW):这个寄存器包含了条码位(由比较指令设置)、CPU优先级、模式(用户态或内核态),以及各种其他控制位。用户通常读入整个PSW,但是只对其中少量的字段写入

      内核态与用户态:

       程序状态字寄存器中有一个二进制位控制这两种模式(0、1)

       内核态:当cpu在内核态运行时,cpu可以执行指令集中所有的指令,很明显,所有的指令中包含了使用硬件的所有功能,(操作系统在内核态下运行,从而可以访问整个硬件)

        用户态:用户程序在用户态下运行,仅仅只能执行cpu整个指令集的一个子集,该子集中不包含操作硬件功能的部分,因此,一般情况下,在用户态中有关I/O和内存保护(操作系统占用的内存是受保护的,不能被别的程序占用),当然,在用户态下,将PSW中的模式设置成内核态也是禁止的

        内核态与用户态切换:用户态下工作的软件不能操作硬件,但是我们的软件比如暴风影音,一定会有操作硬件的需求,比如从磁盘上读一个电影文件,那就必须经历从用户态切换到内核态的过程,为此,用户程序必须使用系统调用(system call),系统调用陷入内核并调用操作系统,TRAP指令把用户态切换成内核态,并启用操作系统从而获得服务

       

     CPU中的一级缓存L1就是寄存器。二级缓存L2用于多核CPU之间的通信,访问速度比访问内存快一点

     

    存储器

     寄存器就是L1缓存,高速缓存就是L2

     高速缓存命中:高速缓存硬件检查所需要的高速缓存行是否在高速缓存中,如果是,则为高速缓存命中

      内存RAM:断电后数据全部消失,易失性储存

      ROM:只读存储器在工厂中就被编程完毕,然后再也不能修改

      闪存:类似固态硬盘,不像机械硬盘那么脆弱,但是擦除次数过多就会损坏

      CMOS储存器:内置一小块电池,主要用于记录时间和日期参数,还保存一些其他参数,入记录哪一个是系统磁盘等等

     

    磁盘

     扇区:机械硬盘中,盘面一个圆中的一小段

      平均寻道时间:机械手臂从一个柱面随机移动到相邻的柱面的时间成为寻到时间,找到了磁道就以为着招到了数据所在的那个圈圈,但是还不知道数据具体这个圆圈的具体位置

      平均延迟时间:机械臂到达正确的磁道之后还必须等待旋转到数据所在的扇区下,这段时间成为延迟时间

      虚拟内存:用于运行大于物理内存的程序,从机械硬盘中分一块来暂时运行内存暂时不需要但是将要运行的指令,在linux中成为swap,这种机制的核心在于快速地映射内存地址,由cpu中的一个部件负责,成为存储器管理单元(MMU)

     

    磁带

     容量高,价格便宜但是速度低,一般用来备份(常见于大型数据库系统中)

     

    总线

     北桥PCI:主板上的一块芯片,连接高速设备

      南桥ISA:主板上的一块芯片,连接慢速设备

     

   

二.计算机启动流程

操作系统启动流程

   计算机加电

    BIOS开始运行,检测硬件:CPU、内存、硬盘等

    BIOS读取CMOS存储器中的参数,选择启动设备

    从启动设备上读取第一个扇区的内容(MBR主引导记录512字节,前446为引导信息,后64为分区信息,最后两个为标志位)

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

    然后操作系统询问BIOS,以获得配置信息。对于每种设备,系统会检查其设备驱动是否存在,如果没有,系统会要求用户安装设备驱动。

   

  应用程序启动流程

   操作系统实时监控应用程序

    应用程序发起一个请求,操作系统进行回应

    在硬盘上进行查找,然后读取到内存

   

三.单位转换

待补充

  硬盘读写单位及大小

今日总结

需将‘处理器’、‘存储器’及‘磁盘’相关概念搞清,主要是

   cpu、内存、硬盘工作原理

    cpu与寄存器

    内核态于用户态及转换机制

    L1,L2缓存,RAM,闪存,CMOS

    磁盘结构、寻道与延迟时间

    虚拟内存与MMU

   

  操作系统启动流程及应用程序启动流程需搞清

  今日主要是整理了硬件方面相关概念,还需白天进一步加强记忆,毕竟海峰老师说过基础不好,应该回家种地,明天加油了。

分享到:
评论

相关推荐

    15_day_mini2.rar

    1. **操作系统基础知识**:操作系统是管理计算机硬件与软件资源的程序,负责处理输入输出、内存分配、进程调度等任务。迷你操作系统简化了这些功能,便于学习和理解OS的基本原理。 2. **内核设计**:迷你OS的内核是...

    bios_internals_BIOSinternals_

    BIOS(Basic Input/Output System)是计算机系统中的核心软件,负责在硬件启动过程中提供基本的输入输出服务。BIOS的主要功能包括自检(POST,Power-On Self Test)、加载引导程序、初始化硬件设备以及提供与用户...

    ipl.rar_编写ipl

    在汇编语言中编写IPL是一项基础且关键的任务,因为早期的计算机硬件与低级别的编程语言如汇编更兼容。汇编语言允许程序员直接控制硬件资源,这对于理解系统启动流程以及优化性能至关重要。IPL通常用简练的代码编写,...

    计算机安全课件(安全评估)5

    在计算机安全领域,安全评估是一项至关重要的任务,它旨在识别、分析和缓解潜在的风险,确保系统的稳定运行和数据的完整性。本课件“计算机安全课件(安全评估)5”聚焦于这一主题,特别是第5天的内容,可能涵盖的是...

    day02-Linux 系统安装及介绍.pdf

    在设置虚拟机网络时,可以利用VMware提供的网络配置功能,或者通过外部计算机来设置网络。 在Linux系统的学习中,CentOS是常用的Linux发行版之一,它是一个社区企业操作系统版本,是由RedHat Enterprise Linux ...

    2021-2022计算机二级等级考试试题及答案No.4414.docx

    - **知识点概述**:计算机的启动过程包括一系列硬件和软件的操作。 - **题目解析**:对于软盘启动而言,正确的启动顺序应该是先插入软盘,然后关好驱动器门,最后打开计算机电源。因此,正确答案是B(③→②→①)...

    2021-2022计算机二级等级考试试题及答案No.13676.docx

    - **详细说明**: 计算机的指令系统指的是计算机硬件能够直接执行的一系列指令集合。不同计算机的指令系统之所以存在差异,主要是由于它们所使用的中央处理器(CPU)的不同。这是因为每种CPU架构都有其特定的指令集,...

    C语言课程笔记整理(day1、day2)

    - **C语言**:一种面向过程的编程语言,其特点在于能够很好地与硬件结合,因此在许多领域都有着广泛的应用。 - **优势**: - 高效性:由于其接近底层,能够更有效地利用系统资源。 - 可移植性:虽然接近底层,但...

    (完整word版)计算机三级信息安全填空题.doc

    28. 操作系统是管理和控制计算机硬件及软件资源的系统软件,提供用户界面。 29. 进程与CPU通过中断信号进行通信,以协调计算任务。 30. Unix/Linux系统中的服务可以由inetd进程或启动脚本启动。 31. 层次信任模型...

    (完整word)计算机三级信息安全填空题.doc

    30. Unix/Linux系统中,服务可能通过inetd进程或启动脚本启动。 31. 层次信任模型适用于有严格级别划分的组织,如军事和政府机构。 32. NIDS(网络入侵检测系统)由探测器和控制台组成,监控网络流量。 33. EIP...

    2021-2022计算机二级等级考试试题及答案No.2840.docx

    ### 计算机二级等级考试知识点解析 #### 1. 数据类型取值范围 - **题目**: 下面哪些是short型的取值范围? - A. -2^7–2^7-1 - B. 0–2^16-1 - C. -2^15–2^15-1 - D. -2^31–2^31-1 - **答案**: C - **解析**: ...

    2021-2022计算机二级等级考试试题及答案No.18967.docx

    局域网节点计算机硬件 - **硬件**: 连接到局域网上的节点计算机必须安装网络适配卡(NIC,Network Interface Card)。这是连接计算机与局域网的关键硬件,负责数据的收发。 #### 20. 二维表结构 - **结构**: 二...

    bios 设置定时开机

    BIOS是计算机硬件与操作系统之间的一层软件,它负责管理硬件资源,为操作系统提供启动前的基础服务。定时开机功能是BIOS众多高级电源管理设置之一,通过这一功能,用户可以精确控制计算机的启动时间,实现自动化操作...

    U盘开机锁 Ulogin

    只有当插入了正确的、包含认证密钥的U盘时,系统才会继续启动过程,否则将无法进入操作系统。 Ulogin的使用流程通常包括以下几个步骤: 1. 下载并安装Ulogin软件到电脑上。 2. 使用软件将普通U盘格式化并制作成启动...

    2021-2022计算机二级等级考试试题及答案No.12691.docx

    - **题目解析**:Java中创建和启动线程的过程。 - `start()`方法:用于启动一个新的线程实例。 - `run()`方法:当线程被启动后,系统自动调用此方法来执行线程的任务。 - **正确答案**:(开启一个新线程、run()...

    30天自制os(第八天代码)完全ubuntu版本

    在“30天自制OS”项目中,第八天的代码主要集中在构建一...这是一个挑战性的过程,但完成后的成就感和对计算机系统的深入理解是无价的。在实践中,你将不断提升解决问题的能力,为未来更复杂的系统开发打下坚实的基础。

    西门子PLC编程 入门PPT学习教案.pptx

    PLC(Programmable Logic Controller,程序化逻辑控制器)是一种专门用于工业自动化控制的微型计算机。西门子PLC是其中的一种,广泛应用于工业自动化控制领域。本文将介绍西门子PLC编程的基础知识,包括PLC的基本...

    查看电脑运行时间

    在计算机领域,了解电脑的运行时间对于系统维护和故障排查来说是很有用的。"查看电脑运行时间"这个话题涉及到操作系统的基本监控功能,通常在服务器环境中尤为重要,因为长时间的无故障运行时间是评估系统稳定性的一...

    =Visual+C+++6.0集成开发环境 (2).pdf

    【Visual C++ 6.0 集成开发环境详解】 Microsoft 的 Visual C++ 6.0 是一款专为Windows平台设计的交互式可视化集成开发...通过理解其安装、启动过程和主窗口的各个部分,开发者可以更高效地利用这个环境进行程序开发。

Global site tag (gtag.js) - Google Analytics