认识操作系统01

win7 mac Android ios

时间: 2024-08-11 09:57:41

认识操作系统01的相关文章

【自制操作系统01】硬核讲解计算机的启动过程

目录 一.为什么是 BIOS 主导?    二.内存映射    三.实模式下的内存分布    四.怎么就从 BIOS 里的程序开始执行了    五.BIOS 里到底写了什么程序    六.0x7c00 是啥    七.启动区里的代码写了啥    八.操作系统内核写了啥        软硬件协同发展        历史遗留问题    九.参考资料    十.开源项目和课程规划        项目开源        课程规划 本讲只为讲明白下面一个问题: 我们按下开机键后究竟发生了什么? 好的,这似

【自制操作系统04】从实模式到保护模式

通过前三章的努力,我们成功将控制权转交给了 loader.asm 这个程序.具体说就是 bios 通过加载并跳转到 0x7c00(IMB大叔们定的) 把控制权转交给了我们操作系统的第一个汇编程序 mbr.asm,然后 mbr.asm 里做的事就是通过加载 loader 程序并跳转到 0x900(这个是我们自己定的)把控制权转交给了 loader.asm 程序,目前这个程序里还只是向屏幕输出一行字符串"loader",今天我们就将扩展它.并且今天我们要做的事,是操作系统中的第一个精彩之处

【自制操作系统05】开启内存分页机制

通过前四章的努力,我们成功将控制权转交给了 loader.asm 这个程序,并且从实模式跨越到了保护模式.第四章讲保护模式的时候我说过,这是我们操作系统的第一个精彩之处.但其实这只是针对之前我们进行的只是无意义的输出,以及硬盘的加载等工作.但到了这一章,之前一步步的努力进入到了保护模式,也只能说是做了很多苦力,其实很多代码都是固定的,给我们发挥的空间也不大. 但是到了本章,可以说终于有能体现出我们设计能力的地方了. 一.实现分页要做哪些事 还是先直接简单说要做的事,再说为什么,实现分页要做以下三

【自制操作系统06】终于开始用 C 语言了,第一行内核代码!

一.整理下到目前为止的流程图 写到这,终于才把一些苦力活都干完了,也终于到了我们的内核代码部分,也终于开始第一次用 c 语言写代码了!为了这个阶段性的胜利,以及更好地进入内核部分,下图贴一张到目前为止的流程图.(其中黄色部分是今天准备做的事情) 二.先上代码 loader.asm ... ;加载kernel mov eax,0x9 ;kernel.bin所在的扇区号 0x9 mov ebx,0x70000 ;写入的内存地址 0x70000 mov ecx,200 ;读入的扇区数 call rd_

【自制操作系统07】深入浅出特权级

一.到目前为止的程序流程图 本讲我们不继续写任何代码,而是专门拿出一讲来说说特权级的事,为后续的工作做一个知识储备.这段内容太难啃了,也可能我恰好对这块不太感冒,反正我是恶心了好久才啃下来. 为了让大家清楚目前的程序进度,画了到目前为止的程序流程图,如下 二.什么时候处理器会进行特权级检查 为什么要进行特权级检查,我就不说太多了,简单理解,操作系统不希望用户进程访问内核数据,所以需要给指令呀还有数据呀都附上一个特权级的属性,让程序受限制. 特权级分为 0 1 2 3 四种,我们常说的 用户态 就

【自制操作系统11】中场休息之细节是魔鬼

如果你有幸看到这一章,那么恭喜你,你已经完成了整个操作系统的一多半了,而且如果你前面的东西都完全掌握了,那后面无非就是顺水推舟的事情了.本章不做继续的讲解,而是将之前的知识进行回顾,并把相似的知识点做对比.同时我也将到目前为止最大的感悟 细节是魔鬼 分享给大家. 一.到目前为止的程序流程图 为了让大家清楚目前的程序进度,画了到目前为止的程序流程图,如下.其实就是截至到内存管理这一块 二.回顾一下我们都做了些什么 这里列出整个系列到目前为止的目录,刚好也可以作为索引方便大家阅读了 [自制操作系统0

【自制操作系统12】熟悉而陌生的多线程

一.到目前为止的程序流程图 为了让大家清楚目前的程序进度,画了到目前为止的程序流程图,如下.红色部分是我们今天要实现的 二.进程与线程简述 相信看这篇文章的人,肯定不是对基本概念感兴趣,这也不是我的主要目的.所以这里真的是简述一下 进程和线程都是 独立的程序执行流,只不过进程有自己独立的内存空间,同一个进程里的线程共享内存空间,具体体现在 pcb 表中一个字段上,指向页表的地址值. 线程分 用户线程 和 内核线程,用户线程可以理解为就是没有线程,只是用户程序中写了一个线程调度器程序在假装切换,操

【自制操作系统14】实现键盘输入

一.到目前为止的程序流程图 为了让大家清楚目前的程序进度,画了到目前为止的程序流程图,如下.(红色部分就是我们今天要实现的) 二.简单打通键盘中断 既然要打通键盘中断,那必然需要你回顾一下 [自制操作系统08]中断 所讲述的外部中断的流程,下面我把图贴上. 如图所示,将上图中的某外部设备,换成下图中的具体的键盘,就是键盘中断流程啦.简单说就是: 因此每当有击键发生时,键盘中的设备 8048 会把键盘扫描码发给主板上的设备 8042. 8042 是按字节来处理的,每处理一个字节的扫描码后,将其存储

我喜欢减肥我们来减肥吧

http://www.ebay.com/cln/honus.jyw4mvptb/cars/158313278016/2015.01.28.html http://www.ebay.com/cln/honus.jyw4mvptb/cars/158313282016/2015.01.28.html http://www.ebay.com/cln/honus.jyw4mvptb/cars/158313289016/2015.01.28.html http://www.ebay.com/cln/usli