操作系统
文章平均质量分 58
MonoWx
lalall
展开
-
计算系统启动过程(详细)
零、boot的含义先问一个问题,”启动”用英语怎么说?回答是boot。可是,boot原来的意思是靴子,”启动”与靴子有什么关系呢? 原来,这里的boot是bootstrap(鞋带)的缩写,它来自一句谚语:"pull oneself up by one's bootstraps"字面意思是”拽着鞋带把自己拉起来”,这当然是不可能的事情。最早的时候,工程师们用它来比喻,计转载 2017-07-29 14:56:57 · 542 阅读 · 0 评论 -
GCC编译系统基本过程详解
GCC编译驱动程序,将源程序hello.c翻译为一个可执行目标文件hello过程,分为四个阶段; 下面是我总结的思维导图,比纯文字的好理解一点。 第一阶段,预处理阶段;预处理器(cpp)根据以字符#开头的命令,修改原始的C程序。比如把hello.c中的第一行的#include 命令告诉预处理器读取系统文件stdio.h的内容,并把它直接插入到程序文本中。结果就得到了另一个c程序原创 2017-07-31 16:47:31 · 1681 阅读 · 2 评论 -
操作系统
bootsect将系统读入到内存中setup将完成os启动前的操作,首先读取内内存的大小,使操作系统了解计算机的硬件,进行管理计算机;初始化gdt表;setup的最后一步: jumpi 0,8(切换到保护模式);寻址执行(左移四位)的方式无法满足内存大的要求,所以要变换寻址方式,也就是进入保护模式(即32位模式);寻址模式的不同,归根到底就是CPU的指令集不同;system模原创 2018-01-25 18:53:38 · 204 阅读 · 0 评论 -
线程的死锁
死锁的必要条件:1. 互斥: 每个资源要么已经分配给了一个进程,要么就是可用的;2. 占有和等待:已经得到了某个资源的进程可以再请求新的资源。3. 不可抢占:已经分配给一个进程的资源不能强制性的被抢占,它只能被占有他的进程显式的释放;4. 环路等待: 有两个或者两个以上的进程组成一条环路,该环路中的每个进程都在等待下一个进程所占有的资源。处理死锁的方法:1. 鸵鸟策略:就是忽略死锁,假装什么都没有...原创 2018-04-24 16:43:00 · 230 阅读 · 0 评论