首页
首页
BOT
沸点
课程
直播
活动
AI刷题
NEW
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
CODERLIHAO
掘友等级
站在巨人的肩膀上
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
99
文章 99
沸点 0
赞
99
返回
|
搜索文章
CODERLIHAO
4年前
关注
linux0.11源码分析-打开与读取文件
如果打开的文件不存在并且flag带有O_CREAT标志,就会创建一个新的inode添加到目录项中。如果打开的文件已经存在,就会把指定的inode信息读取到缓冲区。open还...
1
评论
分享
CODERLIHAO
4年前
关注
linux0.11源码分析-目录查找
如果想找到一个文件,就要找到文件的inode,但是inode中并没有存文件的名字。文件的内容是什么,inode是不关心的,如果是普通文件就是普通文件的数据,如果是目录,里面...
3
评论
分享
CODERLIHAO
4年前
关注
linux0.11源码分析-文件节点的iput于iget
inode用来代表一个文件,这里的文件很宽泛,可以是我们熟知的普通文件,可以是目录,可以是管道等。磁盘的inode表里就存着inode信息。 inode如果是一个管道,则唤...
1
评论
分享
CODERLIHAO
4年前
关注
linux0.11源码分析-添加设备请求
blk_dev先定义了系统可以使用的一些块设备,数量也就是7个。该数组使用主设备号作为索引,在代码中就会看到blk_dev[major]这样找到 blk_dev_struc...
1
评论
分享
CODERLIHAO
4年前
关注
linux0.11源码分析-sleep_on与wake_up
如果一个资源没有加锁,就表示还没有被使用,一旦加上锁后,在没有解锁前,其他进程想要使用该资源就要释放cpu等待了。注意执行到schedule()方法时,下面的代码就不会执行...
1
评论
分享
CODERLIHAO
4年前
关注
linux0.11源码分析- 页中断
实模式下使用段基址+偏移地址来寻址,因为实模式下应用可以无阻碍的访问任何内存地址,所以有了保护模式,保护模式下,地址线也扩展到32位,可以访问到4GB内存地址,我为了管理内...
1
评论
分享
CODERLIHAO
4年前
关注
linux0.11源码分析-向硬盘写入数据
为什把这个方法单独拿出来说,因为别的专题再把这个方法加进去,文章就太长了。偷懒~😁 这个方法对应着硬盘的操作,相对应的对虚拟盘操作就是do_rd_request,对软盘得...
1
评论
分享
CODERLIHAO
4年前
关注
linux0.11源码分析-缓冲区
缓冲区的作用是提高系统效率,相对CPU来说,低速的IO设备是CPU受不了的,那就把IO设备中的数据先读取到缓冲区中,然后再复制到用户空间,如果想写数据到IO设备,进程先修改...
2
1
分享
CODERLIHAO
4年前
关注
linux0.11源码分析-fork进程
fork函数先从当前任务表(task)里找到一个任务号(进程pid),如果可以找到,就会复制当前进程current结构体的数据(task_struct),然后复制进程页表项...
2
评论
分享
CODERLIHAO
4年前
关注
linux0.11源码分析-初始化进程0
内核经过划分物理内存格局、设置缓冲区、虚拟盘、主内存、IDT等初始化后,接下来就要初始化进程0。 内核已经初始化好一个进程(init_task)数据结构,接下来往GDT中添...
2
评论
分享
CODERLIHAO
4年前
关注
Ext文件系统
MBR占据一个扇区的大小,MBR位于磁盘的第1个扇区,CHS的表示方法是0柱面,0磁头,1扇区;LBA的表示方法就是0扇区。 CPU加电复位后,利用BIOS就会把该MBR加...
2
3
分享
CODERLIHAO
4年前
关注
linux0.11源码分析-写时复制
假如现在有A进程和B进程共享一个页帧frame,那么这个frame对应的页表项的RW标志为0,现在B进程修改frame,引发中断page_fault,可以根据出错码和cr2...
2
评论
分享
CODERLIHAO
4年前
关注
linux0.11源码分析-共享页帧
当引发缺页中断时,share_page可能会被do_no_page被调用。 try_to_share先检查P进程中对应的页帧是否存在,不存在就返回0。然后查看这个页帧是否干...
2
评论
分享
CODERLIHAO
4年前
关注
Linux0.11内核源码分析3-main函数运行之初始化中断描述符表
如果想要知道这些概念,你需要知道什么是段描述符,选择子等数据结构。 CPL是段寄存器cs中选择子中得RPL,用来表示当前CPU运行得是哪个状态。 linux系统只有2个特权...
2
评论
分享
CODERLIHAO
4年前
关注
Linux0.11内核源码分析2-main函数运行之物理内存划分
在boot/head.s中,已经将main函数的地址压到栈里面,这里不是常见的call指令,因为call指令会把下一条指令的EIP压到栈里,等到调用ret指令后,会把之前压...
2
3
分享
CODERLIHAO
4年前
关注
Linux0.11内核源码分析1-main函数运行之前的准备
init/main.c中得main函数启动前,我们需要加载内核,划分内存,启用分页,把实模式转变为保护模式等一系列操作。先加载bootsect,利用bootsect中得代码...
2
评论
分享
CODERLIHAO
4年前
举报
分享可以做成把文章做成图片分享吗?就像简书分享一样呢?
反馈 & 建议
分享
评论
点赞
CODERLIHAO
4年前
关注
为什么调用fork后需要调用wait
就拿linux0.11源码分析,从进程2的创建与销毁举例子。在这里贴出的代码看不懂的不要紧,我会尽量把流程说清楚,看的懂的那是最好,程序员的语言不就是代码吗~ 😂 ini...
2
评论
分享
CODERLIHAO
4年前
关注
理解fork子进程为什么返回0
kernel/sched.c中的sched_init方法中就对0x80号中断进行了配置,就是说发生该中断就会调用system_call方法。 copy_process定义在...
2
评论
分享
CODERLIHAO
4年前
关注
Rxjava2 map
map的作用是把上游的数据转换后再发给下游。...
1
评论
分享
下一页
个人成就
文章被点赞
57
文章被阅读
33,394
掘力值
1,245
关注了
2
关注者
14
收藏集
4
关注标签
45
加入于
2016-01-31