LINUX根目录下的binbootdevetc这几个目录的作用是什么?

LINUX根目录下的binbootdevetc这几个目录的作用是什么?,第1张

bin 下面的是一些二进制程序文件

boot 下面的是开机启动文件

dev 下面的是一些硬件驱动

etc 下面的是一些安装程序 /bin:存放最常用命令; /boot:启动Linux的核心文件; /dev:设备文件; /etc:存放各种配置文件; /home:用户主目录; /lib:系统最基本的动态链接共享库; /mnt:一般是空的,用来临时挂载别的文件系统; /proc:虚拟目录,是内存的映射;

/bin:存放最常用命令;

/boot:启动Linux的核心文件;

/dev:设备文件;

/etc:存放各种配置文件;

/home:用户主目录;

/lib:系统最基本的动态链接共享库;

/mnt:一般是空的,用来临时挂载别的文件系统;

/proc:虚拟目录,是内存的映射;

/sbin:系统管理员命令存放目录;

/usr:最大的目录,存许应用程序和文件;

/usr/X11R6:X-Window目录;

/usr/src:Linux源代码;

/usr/include:系统头文件;

/usr/lib:存放常用动态链接共享库、静态档案库;

/usr/bin、/usr/sbin:这是对/bin、/sbin的一个补充;

另一种说法:

/bin 二进制可执行命令

/dev 设备特殊文件

/etc 系统管理和配置文件

/etc/rc.d 启动的配置文件和脚本

/home 用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示

/lib 标准程序设计库,又叫动态链接共享库,作用类似windows里的.dll文件

/sbin 系统管理命令,这里存放的是系统管理员使用的管理程序

/tmp 公用的临时文件存储点

/root 系统管理员的主目录(呵呵,特权阶级)

/mnt 系统提供这个目录是让用户临时挂载其他的文件系统。

/lost+found 这个目录平时是空的,系统非正常关机而留下“无家可归”的文件(windows下叫什么.chk)就在这里

/proc 虚拟的目录,是系统内存的映射。可直接访问这个目录来获取系统信息。

/var 某些大文件的溢出区,比方说各种服务的日志文件

/usr 最庞大的目录,要用到的应用程序和文件几乎都在这个目录。其中包含:

/usr/X11R6 存放X window的目录

/usr/bin 众多的应用程序

/usr/sbin 超级用户的一些管理程序

/usr/doc linux文档

/usr/include linux下开发和编译应用程序所需要的头文件

/usr/lib 常用的动态链接库和软件包的配置文件

/usr/man 帮助文档

/usr/src 源代码,linux内核的源代码就放在/usr/src/linux里

/usr/local/bin 本地增加的命令

/usr/local/lib 本地增加的库

在IDE环境启动执行EOS *** 作系统时,会将boot.bin、loader.bin和kernel.dll三个二进制文件写入软盘镜像文件中,然后让虚拟机来执行软盘中的EOS *** 作系统。

仅使用其中一个是不能运行的。

Boot程序的功能是:在Boot程序执行的过程中,CPU始终处于实模式状态。Boot程序利用BIOS提供的int 0x13中断服务程序读取软盘FAT12文件系统的根目录,在根目录中搜寻loader.bin文件。如果Boot程序找到了loader.bin文件,会继续利用int 0x13功能将整个loader.bin文件读入从地址0x1000起始的物理内存,最后跳转到0x1000处开始执行 Loader程序,Boot程序的使命到此结束。

Loader程序的功能是:Loader程序的任务和Boot程序很相似,同样是将其它的程序加载到物理内存中,这次加载的是EOS内核。接下来Loader程序从软盘的根目录中将内核文件kernel.dll载入物理内存0x10000处。然后Loader程序会启动分页机制,将物理内存最开始的约1/8(最小4M)映射到虚拟地址0x80000000处,这样kernel.dll就位于虚拟内存0x80010000处了,这正好是kernel.dll的运行基址。在Loader程序对内核文件进行节对齐 *** 作后,Loader程序就可以跳转到kernel.dll的入口点继续执行,从而将控制权交给内核,Loader程序的使命到此结束。

如果将loader.bin的功能移动到boot.bin文件中,则boot.bin文件的大小仍然能保持小于512字节。 Boot程序的大小被限制在一个软盘扇区(512字节)之内,所以必须非常短小,除了加载并执行Loader程序之外不做任何其它事情。

答:在IDE环境启动执行EOS *** 作系统时,会将boot.bin、loader.bin和kernel.dll三个二进制文件写入软盘镜像文件中,然后让虚拟机来执行软盘中的EOS *** 作系统。

仅使用其中一个是不能运行的。

Boot程序的功能是:在Boot程序执行的过程中,CPU始终处于实模式状态。会继续利用int 0x13功能将整个loader.bin文件读入从地址0x1000起始的物理内存,最后跳转到0x1000处开始执行 Loader程序,Boot程序的使命到此结束。

Loader程序的功能是:Loader程序的任务和Boot程序很相似,同样是将其它的程序加载到物理内存中,这次加载的是EOS内核。然后Loader程序会启动分页机制,将物理内存最开始的约1/8(最小4M)映射到虚拟地址0x80000000处,这样kernel.dll就位于虚拟内存0x80010000处了,这正好是kernel.dll的运行基址。

如果将loader.bin的功能移动到boot.bin文件中,则boot.bin文件的大小仍然能保持小于512字节。 Boot程序的大小被限制在一个软盘扇区(512字节)之内,所以必须非常短小,除了加载并执行Loader程序之外不做任何其它事情。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11463320.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-16
下一篇2023-05-16

发表评论

登录后才能评论

评论列表(0条)

    保存