Linux文件系统与进程

上传人:muw****50 文档编号:246143590 上传时间:2024-10-12 格式:PPT 页数:36 大小:2.01MB
返回 下载 相关 举报
Linux文件系统与进程_第1页
第1页 / 共36页
Linux文件系统与进程_第2页
第2页 / 共36页
Linux文件系统与进程_第3页
第3页 / 共36页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,Linux,文件系统与进程,Linux,系统介绍,Linux,系统产品,RedHat,,,Debian,,,Ubuntu,Novell/SuSE,Red Hat Enterprise Linux 3,操作方法:,图形人机交互方式,命令行方式,Linux,文件系统,EXT2,分区,目录结构,文件访问,编程,I/O,操作,进程,进程标识,进程控制,Linux,系统介绍,-,Linux,系统产品,嵌入式,Linux:uCLinux,Android,系统,Linux,系统介绍,-,操作方法,图形人机交互方式,没有磁盘区,采用目录管理,命令行方式,Linux,文件系统与进程,Linux,系统介绍,Linux,系统产品,RedHat,,,Debian,,,Ubuntu,Novell/SuSE,Red Hat Enterprise Linux 3,操作方法:,图形人机交互方式,命令行方式,Linux,文件系统,EXT,分区,目录结构,文件访问,编程,I/O,操作,进程,进程标识,进程控制,Linux,文件系统,ext,分区,Linux,分区格式,ext,分区:,ext2,、,ext3,、,ext4,通过加载,windows,磁盘,可访问,windows,分区,其它,jfs,xfs,等,分区工具,fdisk,Windows,分区格式,FAT16,、,FAT32,、,NTFS,Linux,文件系统,目录结构,特殊目录,根目录 用符号“,/”,表示,当前目录用符号“,.”,表示,上一级目录用符号“,.”,表示,重要的目录,bin,存放二进制可执行文件,(ls,cat,mkdir,等,),boot,存放用于系统引导时使用的各种文件,dev,用于存放设备文件,etc,存放系统配置文件,home,存放所有用户文件的根目录,lib,存放跟文件系统中的程序运行所需要的共享库及内核模块,mnt,系统管理员安装临时文件系统的安装点,opt,额外安装的可选应用程序包所放置的位置,proc,虚拟文件系统,存放当前内存的映射,root,超级用户目录,sbin,存放二进制可执行文件,只有,root,才能访问,tmp,用于存放各种临时文件,usr,用于存放系统应用程序,比较重要的目录,/usr/local,本地管理员软件安装目录,var,用于存放运行时需要改变数据的文件,Linux,文件系统,文件访问命令,ls,目录,:,列出目录下的文件和子目录,ls,列出当前目录下的文件和子目录,ls a,列出包括隐藏的文件在内,ls l,以列表形式列出,cd,目录,:,改变当前目录,cd.,返回上一级目录,cp,文件,1,文件,2:,把文件,1,拷贝成文件,2,cp r,目录,1,目录,2:,把目录,1,下的内容拷贝到目录,2,下,包括子目录,find/,目录,name filename:,在目录下寻找名字为,filename,的文件,pwd,命令,:,显示当前所在的路径和目录,Linux,文件系统,文件访问命令(续),mkdir,目录名,:,创建一个目录,rmdir,目录:删除目录,mv,文件,1,文件,2:,把文件,1,命名为文件,2,rm,文件:删除文件,man,命令:查看命令的帮助文件,vi,命令,:,编辑文件,chmod,命令,:,修改权限,用户管理命令,useradd groupadd userdel groupdel su,mount:,装载设备,Linux,文件系统,文件,I/O,文件描述符,一个非负整数,进程通过文件描述符来访问文件,打开或创建一个文件,第一个参数,pathname,是要打开,(,或要创建,),的文件名或含路径的文件名,第二个参数,flags,是标志打开的方式,这个参数用来说明这个系统调用的多个选择项:,O_RDONLY:,表示请求以只读方式打开文件。,O-WRONLY:,表示请求以只写的方式打开文件。,O_RDWR:,表示以可读写的方式打开文件。,Linux,文件系统,文件,I/O,(续),常用的几个选项:,O_APPEND,:文件以追加的方式打开。,O_CREAT,:如果这个文件不存在,就将建立该文件。,O_NONBLOCK,:非阻塞方式打开,O_SYNC,:文件以同步,I/O,的方式打开,mode,值,访问权限,创建文件时使用,阻塞与非阻塞的概念,Linux,文件系统,文件,I/O,(续),定义,r:,具有读取内容的权限;,w:,具有新增、修改文件内容的权限;,x:,具有执行文件的权限。,举例,-rwx-:0700,文件所有者对文件具有读取、写入和执行的权限。,(,八进制,),-rwxr-r-:0744,文件所有者具有读、写与执行的权限,其他用户则具有读取的权限。,r,w,x,r,w,x,r,w,x,所有者权限,所有者同组用户的权限,其他用户权限,0,0/1,Linux,文件系统,文件,I/O,(续),pathname,和,mode,的含义跟,open,相同,Linux,文件系统,文件,I/O,(续),从文件描述符所指的文件中读取,nbytes,个字节到,buff,所指向的内存缓冲中。如果,nbytes,参数为,0,,该系统调用返回,0,并且没有其他结果。,当,read,系统调用成功时,该调用的返回值是读取的字节数,返回,0,表示文件指针在文件尾部。成功读取一定字符数返回时,文件指针也向后移动一定的字符数。,Linux,文件系统,文件,I/O,(续),write,把,buf,所指内存中的,nbyes,个字节写入文件描述符所指的文件,调用返回情况,调用成功时,,write,返回写入的字节数,(,为,0,表示没有数据要写,),。,当发生错误时,返回,-1,,并将,errno,置为相应的错误代码。,如果,write,调用的参数,nbyes,为,0,且文件描述指向一个正规文件,则调用将返回,0,且没有其他任何实际影响。,Linux,文件系统,文件,I/O,(续),close,调用成功时,返回值为,0,;否则,返回,-1,,表示调用出错。,Linux,文件系统,文件,I/O,(续),举例,创建一个名为,hole,的文件,写入”,abcdefghij”,文件仅对所有者具有读取、写入和执行的权限,Linux,文件系统,文件,I/O,(续),char buf1=abcdefghij;,void err_sys(const char*info),printf(“%s n”,info);,exit(1);,int main(void),int,fd,;,if(,fd,=,creat,(hole,0700)0),err_sys(create error);,if(,write,(,fd,buf1,10)!=10),err_sys(buf1 write error);,close(fd);,return 0;,Linux,文件系统与进程,Linux,系统介绍,实验采用:,Red Hat Enterprise Linux 3,操作方法:,图形人机交互方式,命令行方式,Linux,文件系统,EXT2,分区,目录结构,文件访问,编程,I/O,操作,进程,进程标识,进程控制,进程,基本概念,程序与进程,程序,存放在磁盘文件中的可执行文件,是静态的。,进程,程序一旦装入内存,而且和它的运行环境结合在一起,它就称为进程,是动态的。,生命周期:装入内存到退出内存中止。,分配了资源:,CPU,资源、内存资源、,I/O,资源等。,Linux,下的进程,进程标识号,进程标识号,系统给每个进程定义了一个标识该进程的非负整数,称作进程标识符。,每个程序执行起来后,有一个主进程。,当某一进程终止后,其标识符可以重新用作另一进程的标识符。不过,一个标识符所代表的进程在任何时刻都是惟一的。,系统把,0,和,1,保留给系统购两个重要进程。,0,进程是调度进程,它按原则把处理机分配给进程使用。,进程,1,是初始化进程,它是程序,/sbin,的执行。进程,1,是系统所有其他进程的祖先,并且是进程结构的最终控制者。,系统根据进程标识号来管理进程,Linux,下的进程,进程标识号(续),Linux,下的进程,进程控制:创建,父进程、子进程,/Linux,独有的,cow,优化技术,调用成功时,对父进程返回子进程的,PID,,,对子进程返回,0,。,调用失败时,给父进程返回,-1,没有子进程创建。,进程共享代码空间,但是数据空间是互相独立的,子进程数据空间中的内容是父进程的完整拷贝,Linux,下的进程,进程控制:同步,调用,wait,的进程进入睡眠状态直到它的一个子进程退出时或收到一个不能被忽略的信号时被唤醒。如果调用发出时,已经有退出的子进程,(,这时子进程的状态是僵死状态,),,该调用立即返回。其中调用返回时参数,status,中包含子进程退出时的状态信息(正常退出还是被非正常结束的;正常结束时的返回值,或被哪一个信号结束等信息)。,waitid,与,wait,函数在调用时的区别是,waitid,等待由参数,pid,指定的子进程退出。,参数,options,的取值及其含义如下:,WNOHANG,:该选项要求如果没有子进程退出就立即返回。,WUNTRACED,:对已经停止但本不用报告状态的子进程,该调用也从等待中返回和报告状态。,Linux,下的进程,进程控制:举例(续),除了使用,exit,函数来终止进程外,当进程运行完、程序到达,main,函数末时,进程会自动终止。当进程在,main,函数内执行,return,语句也会终止。,_exit,函数只是简单的退出调用函数,而不会关闭文件,清空缓冲区,Linux,下的进程,进程控制:举例,extern int errno;/extern,表示全局变量,包括从其他库引用函数或变量时需加上,int main(void),char buf100;,pid_t cld_pid;/,声明进程号,int fd;,int status;,if(fd=,open,(temp,O_CREAT|O_RDWR)=-1),printf(open error%dn,errno);,exit(1);,Linux,下的进程,进程控制:举例(续),strcpy(buf,this is parent process write n);,/,char*strcpy(char*dest,const char*src);,if(cld_pid=,fork,()=0)/,子进程,复制代码构成子进程,strcpy(buf,this is child process write n);,printf(this is child process n);,printf(My PID(child)is%dn,getpid,();,printf(My parent PID is%dn,getppid,();,write(fd,buf,strlen(buf);,close(fd);,exit(0);,else,Linux,下的进程,进程控制:举例(续),else,printf(this is parent process n);,printf(my PID(parent)id%dn,getpid,();,printf(my child PID is%dn,cld_pid,);,close(fd);,wait,(/,与子进程同步,return 0;,两个进程,哪个先执行?,本例中,哪个先打印?,作业,请在,Linux,系统下新建文件“,input.txt”,,输入字符“,a b c d e”,;,编写一个,C,语言程序:,主进程创建两个子进程,一个子进程向上述“,input.txt”,追加写入,10,个字符;,另外一个子进程从上述“,input.txt”,读出前,10,个字符,并显示在终端屏幕。,编译调试上述,C,语言程序(第
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!