操作系统
文章平均质量分 97
ac_dao_di
这个作者很懒,什么都没留下…
展开
-
Linux下可执行文件的格式
Linux下可执行文件的格式一、前言通常,操作系统为了加载一个程序,会在编译后的代码的前面添加一个文件头,提供相应的定位信息,这样操作系统才能在加载EXE时将代码段、数据段加载到正确的内存位置。同时,有些编译器还会提供一些调试信息,如符号表等。如果是.o文件,通常称为relocatable file,这种文件没有经过链接,需要进行重定位,不可以执行。如果是EXE文件,称为executabl原创 2016-07-24 15:28:01 · 9162 阅读 · 0 评论 -
ubuntu15.04手动安装MySQL5.6.27数据库
ubuntu15.04手动安装MySQL5.6.27数据库原创 2015-10-06 17:27:06 · 3626 阅读 · 0 评论 -
Linux 0.11内核的启动过程
Linux 0.11内核的启动过程一、Image文件的构成1.1 Makefile中的相关命令Linux 0.11的主Makefile文件中,有如下字段:tools/build: tools/build.c$(CC) $(CFLAGS) \-o tools/build tools/build.c这个是对tools/build.c程序的编译。 Image: boot/bootsect boot/se原创 2016-08-07 20:28:35 · 3023 阅读 · 1 评论 -
Linux 0.11 系统调用的实现机制
Linux 0.11 系统调用的实现机制一、系统调用概述 系统调用本质上是一种中断,中断号为0x80,即128号中断。通常我们使用的是库函数,而不是直接使用系统调用,这主要是因为库函数一般都是规定好的,是可以移植的。而系统调用的具体子调用号可能会发生改变,可能不同平台可能不一样,写出来的程序难以移植。触发系统调用,会进入内核态,并调用绑定的处理函数。内核开发人员必须考虑如何将用户空间原创 2016-12-05 17:06:49 · 3262 阅读 · 0 评论 -
Linux 0.11 字符设备的使用
Linux 0.11 中字符设备的使用一、概述 本文自顶向下一步步探索字符设备的读写是怎么完成的。通常我们在Linux应用程序中用open,read,write对各种类型的文件进行操作。我们可以从键盘输入,然后命令行窗口会显示你的输入,有输出的话则命令行窗口会显示输出中。为什么所有的设备在Linux中都被看成是一个个文件,可以通过统一的read,write直接进行读写?文原创 2016-12-11 18:09:39 · 4384 阅读 · 1 评论 -
ubuntu15.04安装jdk8 、eclipseEE、tomcat8的流程
ubuntu15.04安装jdk8 、eclipseEE、tomcat8的流程1. 安装jdk81.1到官网下载jdk8如jdk-8u45-linux-x64.tar.gz,该jdk的大小为160M左右,小于该大小的应该是有问题的,注意要与系统对应,我的ubuntu是64位的,不然可能会出错。1.2 解压将jdk压缩包解压到/usr/lib下。先建立jvm文件夹: su原创 2015-10-27 22:15:58 · 2060 阅读 · 0 评论 -
Linux 0.11 块设备文件的使用
Linux 0.11 块设备文件的使用一、概述 块设备的IO操作是非常慢的,它远远赶不上内存和CPU的速度。为了减少访问块设备的次数,Linux的文件系统提供了内存高速缓冲区。当需要读取块设备的数据时,首先在缓冲区中查找,有则马上返回,没有则读到缓冲区中,然后再复制到用户数据缓冲区。这样缓冲块并没有马上消失,还会在内存中待一段时间,如果重复读取一个文件,下次就可以直接从缓冲块中读取。当缓冲块不原创 2017-01-19 14:37:39 · 2867 阅读 · 0 评论 -
Minix 1.0文件系统的实现
Minix 1.0文件系统的实现一、概述 在sys_open中,我们并没有讨论如何将文件路径名转化为具体的inode,它使用的是open_namei这个函数实现的。这里面涉及到文件系统的实现。本文将从这个函数出发,说明如何将文件路径名转化为具体的inode,以及普通文件和目录是怎么实现的,在硬盘中是怎么存储的。二、解析文件路径2.1 通过路径名获得对应的节点open_namei open原创 2017-01-22 20:05:47 · 4870 阅读 · 0 评论