- 博客(9)
- 资源 (7)
- 收藏
- 关注
原创 java开发系统内核:使用一个中断实现多个API调用
当前,我们使用一个中断来对应一个API, 问题是内核导出的API不可能只有一个,如果始终保持一个中断对应一个API的话,那么CPU只支持两百多个中断,也就是说,按照上一节的办法,我们内核最多只能导出两百个API, 显然,随着内核功能的增强,导出的API肯定越来越多,最后超出两百多个是肯定的,为了能够支持内核导出足够多的API接口,我们需要对原有机制进行相应修改。
2017-05-31 16:43:51 495 1
原创 java开发系统内核:像Linux一样使用中断实现内核API
我们必须想出新的API提供办法。常用的做法是,仿照Linux 将API当做一个中断调用,由此应用程序在使用API时,只需要记住API对应的中断号,然后使用指令int 即可。
2017-05-31 10:58:43 689
原创 java开发C编译器:把函数调用编译成字节码
本节,我们研究如何把函数声明和函数调用转换成可执行的java 字节码,在完成本节代码后,我们的编译器能把下面代码编译成可被java 虚拟机执行的字节码,示例代码如下:void f() { printf("execute function f()");}void main() { f();}
2017-05-27 17:09:47 697
原创 文章标题
如果你喜欢编译原理,请参看视频 用java开发C语言编译器如果你喜欢面试算法,请参看视频 如何进入google,算法面试技能全面提升指南如果你对机器学习感兴趣,请参看一下链接: 机器学习:神经网络导论如果你喜欢操作系统内核,请参看视频 Linux kernel Hacker, 从零构建自己的内核对二叉树节点的遍历一般来说有中序,后序,和前序三种遍历方法,如果二叉树的高用h来表示,那三种遍历
2017-05-27 15:46:15 351
原创 java开发系统内核:实现应用程序和内核间的控制权切换
在上节,我们实现了让第三方应用程序调用系统内核提供的接口,但遗留下的一个问题是,应用程序调用完API后,它自己进入死循环,由于CPU的控制权交给了应用程序,如果它在进入死循环前关闭了硬件中断的话(执行CLI指令),那么整个系统就会被锁死了。本节,我们看看,应用程序调用完API后,如何将控制权再次归还给系统内核
2017-05-15 12:50:39 768
原创 java开发C语言编译器: JVM的基本原理
上一节,我们把C语言编译成了可以被java虚拟机加载执行的java汇编语言。这节,我们就jvm的基本机制进行深入了解,如果不理解java虚拟机的体系结构,那么我们不可能把C语言转换成能顺利在虚拟机上执行的字节码
2017-05-11 12:07:35 1967
原创 面试算法:镜像二叉树的检测
有一种特殊的二叉树具备镜像特性,如果你从二叉树的中间切一刀,然后把左边反转到右边,你会发现左右是能够重合的,算法要求是,给定一颗二叉树的根节点,判断该二叉树是否具备镜像特性。
2017-05-09 13:06:06 527
原创 java开发系统内核:实现系统API调用
本节的功能,就是从系统内核导出一个接口,最为API,让外部程序调用。我们导出的这个API的功能,是让外部程序能在控制台窗口上显示字符。我们现在内核编写这个接口的功能,然后再把接口开放出来
2017-05-05 16:59:09 1149
一个java实现的简易编译器
2016-02-18
一个android 文本比对app的实现代码
2015-11-16
Android 4.4 App Development Essential
2014-11-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人