自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 Linux内核-内核引导启动程序

内核加载完毕之后,系统跳转到setup.s的开始位置执行,主要是设置系统参数(包括内存,磁盘,) 检测和设置显示器和显示模式并为进入保护模式做准备,最后进入保护模式并跳转到内核映像的头部运行内核。主要初步初始化中断描述符表中的256项门描述符,然后初始化内存页目录表,为内存的分页管理做好准备工作,然后准备执行init.c。负责数据区,中断描述表idt,段描述表GDT,页表和寄存器的初始化,同时在进行一些必要的检查。此后,它将可启动设备的第一个扇区读入内存绝对地址0x7C00处,并跳转到这个地方。

2024-05-29 21:37:32 293

原创 Linux内核-文件系统和虚拟文件系统

高速缓冲区中存储着对应的块设备驱动的数据 当从块设备中读取数据的时候,OS首先会从高速缓冲区中进行检索,如果没有则从块设备中读出数据,如果有并且是最新的,就直接和该高速缓冲区进行数据交互。接收之后进行解析和应用。3.2 文件系统的底层通用函数(对于硬盘的读写 分配 释放等,对于目录的节点管理 inode 内存与磁盘的映射)i节点位图:其每一位对应一个i节点的使用情况,对应i节点如果使用了则i节点位图上的改byte位置1。超级块:是文件子系统的描述符(记录该盘片的逻辑块位图的地址,i节点位图的地址,

2024-05-25 10:50:43 1560

原创 linux内核-中断和中断处理(上)

正是这种异步执行的特性,所以尽量把工作从中断处理程序中分离出来,放在下半部执行,因为下半部可以在更合适的时间运行。通过禁止中断,可以确保某个中断处理程序不会抢占当前的代码也可以禁止内核抢占,但并不能阻止来自其他处理器的并发访问。Linux内核提供了一组接口用于操作机器上的中断状态,这些接口为我们提供了能够禁止当前处理器的中断系统,或者屏蔽掉整个机器的一条中断线的能力。在响应一个特定中断的时候,内核会执行一个函数,该函数叫做中断处理程序或中断服务例程。产生中断的每个设备都有一个相应的中断处理程序。

2024-05-12 18:05:10 858

原创 linux内核-进程管理

这么做的好处是:由于子进程被创建出来,与父进程共享地址空间,且只读。只有在执行exec的创建新的内存映射时才会拷贝父进程的数据,来创建新的地址空间。可以说是线程,而不是进程。不仅仅要有资源,还需要有进程的描述,例如:pid(pid的数量是有限的)进程之间不共享地址空间,而线程与创建它的进程是共享地址空间的。内核线程和普通的进程间的区别在于内核线程没有独立的地址空间,他们只在内核空间运行,从来不切换到用户空间去。创建和普通进程的创建类似,只不过在clone()的时候需要传递一些参数标志来指明需要共享的资源。

2024-05-12 15:45:21 186

原创 linux内核-进程调度

总结来说,任何进程所获得的处理器时间是由它自己和其他所有可运行进程nice值的相对差值决定的。CFS的做法是允许每个进程允许一段时间,循环轮转,选择运行最少的进程作为下一个运行进程,而不再采用分配给每个进程时间片的做法了,CFS在所有可运行进程总数基础上计算出一个进程应该运行多久,而不是依靠nice值来计算时间片。它允许多种不同的可动态添加的调度算法并存,调度属于自己范畴的进程,每个调度器都有一个优先级,它会按照优先级顺序遍历调度类,拥有一个可执行进程的最高级的调度器胜出。否则,将推迟其运行。

2024-05-12 15:44:50 1375

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除