
操作系统
文章平均质量分 67
记录学习《操作系统》课程的知识点
持续学习,不断沉淀
C++开发工程师
展开
-
C++软件崩溃生成dump信息方案阶段性调研结果
C++软件崩溃生成dump信息方案阶段性调研结果原创 2024-05-17 10:44:54 · 682 阅读 · 0 评论 -
进程的启动销毁流程及static变量的构造析构时机
本文为探究static变量构造、析构时机,从而整理了相关的进程启动销毁流程。最后介绍由static变量销毁机制导致的bug,引入google针对此问题设置的编程规范。原创 2023-04-14 15:11:30 · 619 阅读 · 0 评论 -
系统中断介绍
1、介绍:中断:是指计算机程序运行过程中,系统外部、系统内部或者现行程序本身若出现紧急事件,处理机立即中止现行程序的运行,自动转入相应的处理程序(中断服务程序),待处理完后,再返回原来的程序运行,这整个过程称为程序中断。2、分类:硬件中断:时钟中断、电气信号、断电、电源故障等软件中断:是一条CPU指令,用以自陷一个中断。软中断通常要运行一个切换CPU至内核态的子例程,它常被用作实现系统调用。3、功能:3.1、提高计算机系统效率: 计算机系统中处理机的工作速度远高于外围设备的工作速度。通过中断原创 2021-08-01 21:16:56 · 3411 阅读 · 0 评论 -
BIOS介绍
BIOS:介绍: 是英文"Basic Input Output System"的缩略词,直译过来后中文名称就是"基本输入输出系统"。其实,它是一组固化到计算机内主板上一个ROM芯片上的程序,它保存着计算机最重要的基本输入输出的程序、系统设置信息、开机后自检程序和系统自启动程序。功能: 是为计算机提供最底层的、最直接的硬件设置和控制。EEPROM: 586以后的主板上BIOS ROM芯片大部分都采用EEPROM(Electrically Erasable Programmable ROM,电可擦除可编程原创 2021-08-01 21:09:59 · 398 阅读 · 0 评论 -
堆栈内存布局图:输入覆盖问题详解
堆:占用低地址栈:占用高地址但分配时,永远是从小到大分配原创 2020-11-14 16:56:45 · 183 阅读 · 0 评论 -
打印当前函数的调用栈
1、必备基础知识:三个与打印调用栈相关的函数1.1、int backtrace(void** buffer, int size);函数作用:用于获取当前线程的调用堆栈。参数解释:buffer:它是一个指针数组,函数获取的当前线程的调用堆栈将会被存放在buffer中。在buffer中的指针实际是从堆栈中获取的返回地址,每一个堆栈 框架有一个返回地址。size:用来指定buffer中可以保存多少个void*元素。函数返回值:实际获取的指针个数,最大不超过size大小。1.2、char原创 2021-01-23 14:46:17 · 1832 阅读 · 0 评论 -
进程、线程、线程安全、线程池的概念
1、进程: 就是内存中的一段区域,这段区域中保存了CPU执行的机器指令以及函数运行时的堆栈信息,要想让进程运行,就把main函数的第一条机器指令地址写入PC寄存器,这样进程就运行起来了。2、线程: main函数的特殊之处无非就在于是CPU执行的第一个函数,除此之外再无特别之处,我们可以把PC寄存器指向main函数,就可以把PC寄存器指向任何一个函数。当我们把PC寄存器指向非main函数时,线程就诞生了。3、线程和CPU的关系: 把CPU的PC寄存器指向线程的入口函数,这样线程就可以运行起来了,这就是为什原创 2021-01-23 14:12:32 · 109 阅读 · 0 评论