

Linux内核分析--对信号机制的分析
- 期刊名字:温州职业技术学院学报
- 文件大小:648kb
- 论文作者:崔丽荣
- 作者单位:温州职业技术学院
- 更新时间:2020-09-25
- 下载次数:次
第S卷第3期温州职业技术学院学报Vol.5 No.32005年9月Journal of Wenzhou Vocational and Technical CollegeSep. 2005Linux内核分析-----对信号机制的分析崔丽荣(温州职业技术学院计算机系,浙江温州325035)摘要] Linux是源代码自由开放的操作系统。Linux内核的许多面向通信的底层代码,对开发我国的信息安全产品极有参考价值,因此,对源代码的组织结构、实现原理及实现机制进行较详细的阐述,无疑对深入了解源代码及Linux的普及和发展将有重要的作用.[关键词] Linux; 信号机制;源代码[中图分类号] TP316.89[文献标识码] A [文章编号] 1671-4326( 2005)03-0045-02An Analysis on Linux Kernelon Signal.cCUI Li-rong(Computer Science Department, Wenzhou Vocational and Technical College, Wenzhou, 325035, China)Abstract: Linux is a free and open operating system of code source. A lot of communication-orientedmachine codes of Linux kernel are very valuable to the exploration of the information security products of ourcountry. Thus, the presentation of the organization structure, the performance principle and the performancemechanism of the code source will undoubtedly enhance the understanding of code source and the popularityof Linux.Key words: Linux; Signal.c; Code sourceLinux作为最热门的源代码自由开放的操作系Linux的内核源代码的版本是多版本的。对不同统,引起了国内外Linux开发者和爱好者以及独立软的内核版本,系统调用一般是相同的。新版本可以增件开发商和各类企业主管的关注,其发展势头越来越加- -些新的调用,但旧的系统调用将依然不变,以便猛,同时也逐步得到多数硬软件公司的强劲支持。于保持向后的兼容,所以,一个新的内核版本不能打数据显示,Linux已经占到操作系统市场的20%,破常规的过程。多数情况下,设备文件虽仍然相同,Windows占60%。在我国,Linux也得到 了很快的发但版本之间的内部接口则有所变化。Linux 内核源代展。2004年 以来Linux巳逐渐渗透到电信、金融这些码有一个简单的数字系统,任何偶数内核是-一个稳定IT需求高端的行业,并且Linux正逐步应用于高可靠的版本,而奇数内核是正在发展中的内核。发展中的性服务器和集群服务器这些相对高端的领域。与内核有最新的特点,支持最新的设备,是发展最新而Windows相比,Linux源代码完全公开、便于分析和修又稳定的内核的基础。对内核源代码的修改是以补丁改,而令世人刮目相看。Linux内核的许多面向通信文件的形式发布的。的底层代码对开发我国的信息安全产品极有参考价Linux内核源代码的结构为:每个目录或子目录值。因此,对源代码的组织结构、实现原理及实现机可以看作一个模块,其目录之间的连线表示“子目 录制进行较详细的阐述,无疑对深入了解源代码及或子模块”的关系。Linux的普及和发展将有重要的作用。中国煤化工1 Linux 内核源代码的特点2.1YHCNMH G系[收稿日期] 2005-03-25[作者简们崔丽荣(1975- ),女,内蒙古四子王旗人,温州职业技术学院计算机系助教.46温州职业技术学院学报2005年9月Linux是一个庞大、高效而复杂的操作系统,从信机制,利用这些机制,进程之间可以进行通讯并共结构上可以把Linux的内核划分为五个主要的子系同完成某项任务,这种机制就是IPC。Linux支 持许统,它们以进程调度子系统为核心,其它四个子系统多不同形式的IPC。在特定的情况下它们各有自己的分别为内存管理、进程间通信、虚拟文件系统和网络优缺点和使用范围。其中最有用的IPC有管道.接口。每个子系统之间通过过程调用,互相通信。通System V的IPC机制及信号。信机制在Linux操作系统的子系统中发挥了重要的作所谓管道,是指用于连接-一个 读进程和一个写进用。程,以实现它们之间通信的共享文件,又称pipe文(1)进程调度子系统。因为Linux中的 每个进程都件。向管道提供输入的发送进程(即写进程),以字有自己的虚拟地址空间,为了避免多个进程之间的互符流形式将大量的数据送入管道;而 接受管道输出相影响,特别是用户利用两个或多个进程的功能完成的接收进程(即读进程),可从管道中接收数据。由同-任务时,进程通信机制发挥着不可替代的作用。于发送进程和接收进程是利用管道进行通信的,故又如A进程和B进程共同完成.一项任务,此过程必须A和称管道通信。这种方式首创于UNIX系统,因它能传B进程之间进行通信,以便彼此了解工作状况。而进送大量的数据,且很有效,故很 多操作系统都引用程调度子系统就是以它们间的通信来挂起或唤醒进程这种通信方式,Linux也不例外。的。Linux也支持System V的IPC:消息、信号量和共(2)管理子系统。Linux是个多任务操作系统,享内存。Linux对 这些机制的实施大同小异。我们把可以有多个程序同时装入内存并运行。操 作系统的信号量、消息和共享内存统称System V IPC的对象,每个程序建立一个运行即进程,每个进程都拥有自己每个对象都具有同样类型的接口,即系统调用。这些的虚拟地址空间,它们之间互不干扰,即使要相互作对象和文件一样,都有唯一-的识别号,进程可以通过用,如多个进程合作完成某项工作,也要通过内核提系统调用传递的识别号来存取这些对象。与文件的存供的进程间通信机制(IPC)。Linux内存管理的设计充取一样,对这些对象的存取也要验证存取权限,分利用计算机操作系统所提供的虚拟存储技术,真正SystemV1PC对象的创建者可以通过系统调用设置这实现了虚拟存储的管理。进程的虚拟地址可以映射到些对象的存取权限。任意一个物理地址处,因此,当两个进程的虚拟地基于Linux支持的通信机制是如何具体实施的,址映射到同一物理地址时,为了避免两个进程的冲是怎样完成进程间通信的?我们可以通过分析其源代突,进程之间必须进行通讯。码得到问题的解答。(3)子系统的依赖关系。图1显示了IPC子系统与2.3 Linux内 核模块Signa1.c内核其它系统之间的资源依赖关系。IPC子系统因在操作系统中,信号是一种机制,进程通过信号sockets而依赖文件子系统,因为sockets使用文件描知道系统中正在发生的事件。信号是随机产生的,在述符,一且sockets被打开,就给它分配一个inode。进程执行期间随时都可能收到信号,甚至可能在进程内存管理依赖IPC,因为页交换例程在执行共享内存正在执行系统调用时收到信号。所以,进程必须随的交换时使用IPC机制。IPC依赖内存管理主要是因为时做好响应信号的准备,发出信号的进程将信号送给分配缓冲区和共享内存的实现。接收者进程的PCB中,收到者进程被调用时,才能转IPC入处理信号引起的事件。为区别于硬件中断,有时把信号的处理叫“软中断”。每一种信号都有一个符号名和一个值,放在
-
C4烯烃制丙烯催化剂 2020-09-25
-
煤基聚乙醇酸技术进展 2020-09-25
-
生物质能的应用工程 2020-09-25
-
我国甲醇工业现状 2020-09-25
-
JB/T 11699-2013 高处作业吊篮安装、拆卸、使用技术规程 2020-09-25
-
石油化工设备腐蚀与防护参考书十本免费下载,绝版珍藏 2020-09-25
-
四喷嘴水煤浆气化炉工业应用情况简介 2020-09-25
-
Lurgi和ICI低压甲醇合成工艺比较 2020-09-25
-
甲醇制芳烃研究进展 2020-09-25
-
精甲醇及MTO级甲醇精馏工艺技术进展 2020-09-25