欢迎来到天天文库
浏览记录
ID:885797
大小:59.51 KB
页数:14页
时间:2017-09-23
《浅谈linux相关技术及发展前景》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、浅谈Linux相关技术及发展前景2009201124王欢摘要Linux从1991年问世到现在,短短的十几年时间已经发展成为功能强大、设计完善的操作系统之一;可运行在X86、Alpha、Sparc、MIPS、PPC、Motorola、NEC、ARM等多种硬件平台,而且开放源代码,可以定制;可与各种传统的商业操作系统分庭抗争。学习linux以来,我接触了linux的部分相关技术,在本文中重点讨论的是linux的进程、嵌入式、和内核技术。并凭借自己理解和文献参考谈论了相应的发展趋势。感叹于IT界发展之快的同时,我们必须认清眼前情况,了解自身所需,从而正式每一次的选择,以走好生命中的每一
2、步。关键词:linux、发展、技术、进程、嵌入式、内核1、引言近年来,随着计算技术的高速发展,各类技术层出不穷。而其中Linux从1991年问世到现在,短短的十几年时间已经发展成为功能强大、设计完善的操作系统之一;可运行在X86、Alpha、Sparc、MIPS、PPC、Motorola、NEC、ARM等多种硬件平台,而且开放源代码,可以定制;可与各种传统的商业操作系统分庭抗争。越来越多的企业和研发机构都转向嵌入式Linux的开发和研究上,为了适应IT界的发展趋势,本学期我们开设了相关的课程。在课程最后,我将对于我所了解的linux相关技术进行一次linux部分相关技术及发展前景
3、进行一次浅谈。2、linux相关技术2.1linux进程2.1.1进程的属性 进程的定义:一个进程是一个程序的一次执行的过程,程序是静态的,它是一些保存在磁盘上的可执行的代码和数据集合,进程是一个动态的概念。它是Linux系统的基本的调度单位。Linux进程中最知名的属性就是它的进程号(ProcessIdenityNumber,PID)和它的父进程号(parentprocessID,PPID)。PID、PPID都是非零正整数。一个PID惟一地标识一个进程。一个进程创建新进程称为创建了子进程(childprocess)。相反地,创建子进程的进程称为父进程。所有进程追溯其祖先最
4、终都会落到进程号为1的进程身上,这个进程叫做init进程。是内核自举后第一个启动的进程。init进程作用是扮演终结父进程的角色。因为init进程永远不会被终止,所以系统总是可以确信它的存在,并在必要的时候以它为参照。如果某个进程在它衍生出来的全部子进程结束之前被终止,就会出现必须以init为参照的情况。此时那些失去了父进程的子进程就都会以init作为它们的父进程。如果你执行一下ps-af命令,可以列出许多父进程ID(ParentProcessID,PPID)为1的进程来。Linux提供了一条pstree命令,允许用户查看系统内正在运行的各个进程之间的继承关系。直接在命令行中输入p
5、stree即可,程序会以树状结构方式列出系统中正在运行的各进程之间的继承关系。2.1.2Linux下进程的结构Linux中一个进程在内存里有三部份的数据,就是"数据段","堆栈段"和"代码段",基于I386兼容的中央处理器,都有上述三种段寄存器,以方便操作系统的运行。见图-1。图-1Linux进程的结构 代码段,是存放了程序代码的数据,假如机器中有数个进程运行相同的一个程序,那么它们就可以使用同一个代码段。而数据段则存放程序的全局变量,常数以及动态数据分配的数据空间。堆栈段存放的就是子程序的返回地址、子程序的参数以及程序的局部变量。堆栈段包括进程控制块PCB(Process
6、ControlBlock)中。PCB处于进程核心堆栈的底部,不需要额外分配空间。2.1.3Linux进程的种类Linux操作系统包括三种不同类型的进程,每种进程都有自己的特点和属性。 a)交互进程--由一个shell启动的进程。交互进程既可以在前台运行,也可以在后台运行。 b)批处理进程--这种进程和终端没有联系,是一个进程序列。 c)监控进程(也称守护进程)--Linux系统启动时启动的进程,并在后台运行。2.1.4Linux进程的创建在Linux下产生新的进程的系统调用就是fork函数,这个函数名是英文中"分叉"的意思。为什么取这个名字呢?因为一个进程在运行中,如果使
7、用了fork,就产生了另一个进程,于是进程就"分叉"了,所以这个名字取得很形象。fock的语法:#include#includepid_tfork();说明:本系统调用产生一个新的进程,叫子进程,调用进程叫父进程。在Linux网络编程中经常用到fork()系统调用。例如一个客户机/Web服务器构建的网络环境中,Web服务器往往可以满足许多客户端的请求。如果一个客户机如果需要访问Web服务器需要发送一个请求,此时由服务器生成一个父进程,然后父进程通过fork()系统调用产生一个子进
此文档下载收益归作者所有