linux中的可执行文件

简介:

linux下的可以直接执行的文件很多,它继承了unix的对可执行文件格式很开放的优势。unix或者linux中,对于程序的执行实际上并没有由内核 负责,就是说内核并不管哪些文件格式可以执行哪些不可以执行,内核只是简单地将一个可执行文件的加载和执行的任务交给了一个叫做解释器的东西,由该解释器负责文件的执行,这样可执行文件的格式就简单地与内核解耦了,这样只要提供解释器,linux便可以执行任何格式的文件,从而使得linux下的脚本百花 齐放,而windows却与此相反,它非常 
复杂,包括注册表验证,内核识别...现在,windows的可执行文件主要就是pe文件,这是内核直 接支持的(linux内核当然也有一种它直接支持的文件格式,就是elf文件,要不然就会出现先有鸡先有蛋的问题了)。linux内核允许用户注册可执行文件的识别代码,用户可以自己定义一个可执行文件格式,然后写出解释器并将该解释器注册进内核,有这么麻烦吗?其实不必,内核专门提供了一个misc文件 格式接口给用户,并且导出到proc文件系统。 
在linux中,可执行文件的识别被组织成了一个链表,每一种文件格式被定义为一个结构linux_binprm:

struct linux_binprm{



 本文转自 dog250 51CTO博客,原文链接:http://blog.51cto.com/dog250/1273436

相关文章
|
23天前
|
Linux Shell
Linux手动清理Linux脚本日志定时清理日志和log文件执行表达式
Linux手动清理Linux脚本日志定时清理日志和log文件执行表达式
77 1
|
27天前
|
Linux 数据安全/隐私保护 Windows
Linux入门指南:linux权限究竟是什么?和文件有什么关系?
Linux入门指南:linux权限究竟是什么?和文件有什么关系?
30 0
|
29天前
|
算法 Linux C++
【Linux系统编程】解析获取和设置文件信息与权限的Linux系统调用
【Linux系统编程】解析获取和设置文件信息与权限的Linux系统调用
29 0
|
22天前
|
人工智能 安全 Linux
【Linux】Linux之间如何互传文件(详细讲解)
【Linux】Linux之间如何互传文件(详细讲解)
|
1天前
|
固态存储 Ubuntu Linux
Linux(29) 多线程快速解压缩|删除|监视大型文件
Linux(29) 多线程快速解压缩|删除|监视大型文件
8 1
|
1天前
|
Ubuntu Linux 数据安全/隐私保护
Linux(24) 如何在Ubuntu中操作rootfs.img文件
Linux(24) 如何在Ubuntu中操作rootfs.img文件
2 0
|
6天前
|
安全 Linux 开发工具
Linux中可引起文件时间戳改变的相关命令
【4月更文挑战第12天】Linux中可引起文件时间戳改变的相关命令
12 0
|
8天前
|
Linux Shell 开发工具
Linux文件常用操作
Linux文件常用操作(几乎覆盖所有日常使用)
81 0
|
9天前
|
Linux 内存技术 Perl
【ZYNQ】制作从 QSPI Flash 启动 Linux 的启动文件
【ZYNQ】制作从 QSPI Flash 启动 Linux 的启动文件
|
15天前
|
Linux
linux 超过4个G的文件传不上去的解决办法
linux 超过4个G的文件传不上去的解决办法
9 0