java程序员需要知道的底层知识(三)

笔记开始
  1. 计算机的启动过程
    (1)、通电
    (2)、加电自检 BIOS加电自检,加载bootloader(引导程序,控制你需要加载哪个操作系统,bootloader的位置是写死的,存储在一个叫Master Boot Record的扇区)到内存(BIOS是一块芯片,现在已经被intel扩展为UEFI:Unified Extensible Firmware Interface)
    (3)、选择操作系统,将与os(操作系统)相关的东西加载到内存,将权力交给操作系统来控制
    (4)、拓展:cmos(Complementary Metal Oxide Semiconductor) 存储一些可以配置的东西,比如我的开机密码,在主板上有一块芯片,存储这些可配置的内容,主板上面有一个三伏的电池给这个芯片通电(如果计算机好多年不充电,那么再打开的时候可能就不需要密码了)
    image
  2. 操作系统(os)基本知识
    image

    1. 基础概念: cpu分不同的指令级别(指令由0(内核可操作的指令,可理解为最高权限),1,2,3(用户程序可操作的指令),intel cpu使用了0和3),

    内核态:内核跑在ring 0 级
    用户态:用户程序跑在ring 3 级,对于系统的关键访问,需要内核同意,保证系统的健壮性,linux能执行的操作大概200多个系统调用

    1. 内核:内核的主要功能:内存管理、cpu调度、文件系统、应用管理 进程调度、中断处理 设备驱动
      宏内核:
      image

    上一篇:https://segmentfault.com/a/11...

你可能感兴趣的:(java)