上一页 1 ··· 35 36 37 38 39 40 41 42 43 ··· 109 下一页

2019年12月14日

Linux0.11内核源码——内核态进程切换的改进

摘要: 本来想自己写的,但是发现了一篇十分优秀的博客 https://www.cnblogs.com/tradoff/p/5734582.html system_call的源码解析:https://blog.csdn.net/tq02h2a/article/details/2934094?utm_sourc 阅读全文

posted @ 2019-12-14 12:41 zsben 阅读(344) 评论(0) 推荐(0)

2019年12月13日

Linux0.11内核源码——内核态线程(进程)切换的实现

摘要: 以fork()函数为例,分析内核态进程切换的实现 首先在用户态的某个进程中执行了fork()函数 fork引发中断,切入内核,内核栈绑定用户栈 首先分析五段论中的第一段: 中断入口:先把相关寄存器压栈保存,然后call真正的fork系统调用 当前进程被阻塞或时间片到后,使用调度算法进行线程切换 re 阅读全文

posted @ 2019-12-13 16:38 zsben 阅读(1312) 评论(0) 推荐(0)

linux0.11内核源码——用户级线程及内核级线程

摘要: 参考资料:哈工大操作系统mooc 用户级线程 1.每个进程执行时会有一套自己的内存映射表,即我们所谓的资源,当执行多进程时切换要切换这套内存映射表,即所谓的资源切换 2.但是如果在这个进程中创建线程,共用一套资源,那么进行线程切换时,只要切换pc指针和栈指针esp即可,这样便省去了许多资源切换的操作 阅读全文

posted @ 2019-12-13 15:12 zsben 阅读(769) 评论(0) 推荐(0)

2019年12月11日

linux0.11内核源码——进程各状态切换的跟踪

摘要: 准备工作 1.进程的状态有五种:新建(N),就绪或等待(J),睡眠或阻塞(W),运行(R),退出(E),其实还有个僵尸进程,这里先忽略 2.编写一个样本程序process.c,里面实现了一个函数 /* * 此函数按照参数占用CPU和I/O时间 * last: 函数实际占用CPU和I/O的总时间,不含 阅读全文

posted @ 2019-12-11 21:48 zsben 阅读(798) 评论(0) 推荐(0)

2019年12月10日

linux0.11源码内核——系统调用,int80的实现细节

摘要: linux0.11添加系统调用的步骤 假设添加一个系统调用foo() 1.修改include/linux/sys.h 添加声明 extern int foo(); 同时在sys_call_table数组的最后添加一个元素 ...,sys_foo 2.修改include/unistd.h 增加一个调用 阅读全文

posted @ 2019-12-10 21:31 zsben 阅读(1118) 评论(0) 推荐(0)

2019年12月9日

linux0.11内核源码——boot和setup部分

摘要: https://blog.csdn.net/KLKFL/article/details/80730131 https://www.cnblogs.com/joey-hua/p/5528228.html 参考的两篇博客 x86系统在刚开机时CPU处于实模式 计算机在刚打开电源时 :CS=0xFFFF, 阅读全文

posted @ 2019-12-09 15:55 zsben 阅读(943) 评论(0) 推荐(0)

2019年12月4日

cf 1263

摘要: A #include<bits/stdc++.h> using namespace std; int main(){ int t;cin>>t; while(t--){ int a[3]; cin>>a[1]>>a[2]>>a[3]; sort(a+1,a+4); int ans=0; if(a[1 阅读全文

posted @ 2019-12-04 16:47 zsben 阅读(267) 评论(0) 推荐(0)

2019年11月29日

html 的一些基础操作

摘要: 花了一天学了点html语言。。不记下来的话又白学了 基础中的基础格式 <!DOCTYPE html> <html> <head> <!-- 字符集的选择 utf-8 gbk gbk2312 --> <meta http-equiv="Content-Type" content="text/html; 阅读全文

posted @ 2019-11-29 14:15 zsben 阅读(145) 评论(0) 推荐(0)

2019年11月19日

java 通过反射调用属性,方法,构造器

摘要: package reflection2; import static org.junit.Assert.assertArrayEquals; import java.lang.reflect.Constructor; import java.lang.reflect.Field; import ja 阅读全文

posted @ 2019-11-19 13:08 zsben 阅读(660) 评论(0) 推荐(0)

java 通过反射获取类属性结构,类方法,类父类及其泛型,类,接口和包

摘要: 首先自定义三个类 package reflection1; public interface MtInterface { void info(); } package reflection1; import java.io.Serializable; public class Creature<T> 阅读全文

posted @ 2019-11-19 13:07 zsben 阅读(566) 评论(0) 推荐(0)

上一页 1 ··· 35 36 37 38 39 40 41 42 43 ··· 109 下一页

导航