摘要: 前几节我们介绍了FAT12文件系统,制作了虚拟软盘文件a.img,并在Qt Creater中进行了文件内容的读取实验。那些读取都是使用外部的程序实现的,实际应用中,我们需要用主引导程序来实现文件的读写,主引导程序存在于主引导扇区MBR中,也就是说程序和文件是存在一张盘上的,而且这些主引导程序需要使用 阅读全文
posted @ 2018-06-25 22:15 周伯通789 阅读(798) 评论(0) 推荐(0)
摘要: 在上一节中,我们成功的将虚拟软盘进行了格式化,而且将文件存入其中,那么如何在根目录区中查找文件呢?为了方便起见,再次给出FAT12文件系统的格式,如下所示: 在FAT12文件系统中,一簇包含一个扇区。从上图可见,目录文件项的偏移为19个扇区,其本身大小占用了14个扇区。根目录区中是一个一个的目录项, 阅读全文
posted @ 2018-06-24 20:25 周伯通789 阅读(283) 评论(0) 推荐(0)
摘要: 1.malloc,free, printf均是不可重入函数(意味不能在中断函数或信号处理函数同时调用),但是线程安全函数(意味它可以被多个线程调用) 2.函数有static变量或者全局变量,则该函数是不可重入函数 满足下面条件之一的多数是不可重入函数: (1)使用了静态数据结构或者全局变量; (2) 阅读全文
posted @ 2018-06-22 23:33 周伯通789 阅读(1520) 评论(0) 推荐(0)
摘要: 算法工程师(CTR,推荐相关)。 记录一些面试过程中遇到的题目,希望对有需要的人有所帮助。 1.介绍一下:logistic regression,svm,gbdt,randomforest,xgboost,lightgbm(一般根据简历有针对性的问) 2.为什么用线性回归做分类效果不好 3.比较一下 阅读全文
posted @ 2018-06-22 23:33 周伯通789 阅读(167) 评论(0) 推荐(0)
摘要: 先存着,更多内容待续。。。 阅读全文
posted @ 2018-06-22 23:31 周伯通789 阅读(196) 评论(0) 推荐(0)
摘要: 我们知道主引导程序只能存在第一扇区中,而BIOS只会将第一扇区拷贝到内存执行,第一扇区之后的程序是不会被BIOS加载到内存中的,而这512字节的程序不可能完成整个操作系统的功能,因此,我们要突破这种限制。 这512字节只能完成最基本的功能,我们这样来规划它的功能: 1、首先完成最基本的初始化; 2、 阅读全文
posted @ 2018-06-22 23:30 周伯通789 阅读(483) 评论(0) 推荐(0)
摘要: 前面我们讲解了主引导程序的加载过程,并且制作了虚拟软盘a.img,最终这个主引导程序也在机器中成功运行了,但是实际开发的时候,并不会如此简单,免不了调试过程,如果还像上一节中直接将软盘放到机器中去加载的话是没有办法进行调试的,因此,我们需要一款调试工具bochs,bochs是一款x86模拟器,支持断 阅读全文
posted @ 2018-06-21 21:13 周伯通789 阅读(765) 评论(0) 推荐(0)
摘要: 上一节中说到BIOS会将MBR中的主引导程序(512字节)加载到内存的0x7c00处,其中这512字节的主引导程序是软件程序,是操作系统的一部分,因此也是由操作系统开发者来编写的,BIOS将其加载到内存后,会自动跳到0x7c00处去执行。接下来我们自己实现一个“主引导程序”,功能很简单,就是让它打印 阅读全文
posted @ 2018-06-15 21:33 周伯通789 阅读(2906) 评论(0) 推荐(1)
摘要: 以下内容基于x86平台分析讲解。 操作系统直接运行于硬件之上,用于控制与管理计算机的硬件与软件资源,并且为应用层的软件开发提供服务和接口,现在的计算机大概架构如下所示: 硬件就是主板、显示器、键盘、鼠标等我们来重点看一下BIOS,BIOS全称为Base Input & Output System,也 阅读全文
posted @ 2018-06-12 21:28 周伯通789 阅读(1039) 评论(0) 推荐(1)
摘要: C++规定但凡定义了析构函数,不管这个函数是否纯虚的,必须要提供实现,要不然子类的析构函数如果调用到父类的析构函数时会报错。如果父类的析构函数是纯虚的也必须提供实现。 把父类的析构函数定义为纯虚的只是告诉编程人员,不要实例化这个类。 阅读全文
posted @ 2018-03-16 18:01 周伯通789 阅读(153) 评论(0) 推荐(0)