-
操作系统的引导
操作系统的引导 什么是操作系统的引导 磁盘里的相关数据 操作系统引导的过程操作系统的引导分区表: 分区的大小, 分区的位置C盘: 引导记录PBR, 负责找到启动管器和根目录, 其他操作系统启动需要放到主存中, 主存分为RAM(内存), ROM(有BIOS基本输入输出系统, 最重要的是ROM引导程序(自举程序))两种通电=>使用BIOS=>读取主引导记录=>执行磁盘引导程序=>读取引导记录=>找到启动管理器(根目录)=>初始化…
-
进程
进程 概念 组成 特征程序: 存放在磁盘中的可执行文件, 指令的集合进程: 动态的, 程序的一次执行过程 操作系统创建进程的时候分配进程ID, PID, 是不重复的 还需要记录进程的相关信息被存放在PCB(进程控制模块)进程实体 进程存在的唯一标识 PCB 进程描述信息 进程标识符PID 用户标识符UID 进程控制管理信息 ...…
-
虚拟机
虚拟机传统的计算机只能运行一个操作系统, 运行不同的进程会相互影响虚拟机: 使用虚拟化技术将一台物理机器虚拟化为多台虚拟机器, 每个虚拟机都可以独立运行操作系统同义: 虚拟机管理程序, 虚拟机监控程序, Virtual Machine Monitor, Hypervisor 直接运行在硬件之上 运行在宿主操作系统上, 只有第一类虚拟机管理程序运行在内核态, 会导致上层操作系统使用特权指令, 使用的时候会被虚拟机管理程序截获, 转换之后进行处理 运行在宿主操作系统上 VMware ...…
-
C语言程序设计
C语言程序设计编译链接 指令只有一行, 无结尾 语句可以有多行, 以;结尾…
-
体系结构
体系结构 操作系统的结构 大内核(宏内核/单内核) 微内核 分层结构 模块化 外核 操作系统划分微内核会对性能造成影响, 只有关系最深的应用在内核态进行, 其他在用户态进行, 会导致状态的频繁切换, 切换是有成本的, 但是内核功能少, 便于维护分层结构最底层是硬件, 最上层是用户接口, 每一层可以调用更低一层, 单向, 只能调用相邻的一层, 方便调试模块化主模块必不可少, 在调用的时候模块依赖, 难调试宏内核和微内核...…
-
堆栈
堆一块空闲的内存char heap_buf[1024];int pos = 0;void *my_malloc(int size){ int old_pos; pos += size; return &heap_bunf[old_pos];}这一段内存被称为内存void my_free(void buf){ }栈void c_func(void);void b_func(void);int a_func(int val){ int a = 0; ...…
-
架构概念
架构概念双架构 ARM RISC-V双系统 FreeRTOS: 简单 RT-Thread: 成熟的国内系统…
-
堆栈
堆一块空闲的内存char heap_buf[1024];int pos = 0;void *my_malloc(int size){ int old_pos; pos += size; return &heap_bunf[old_pos];}这一段内存被称为内存void my_free(void buf){ }栈void c_func(void);void b_func(void);int a_func(int val){ int a = 0; ...…