收藏 分享(赏)

1-linux文件系统与进程.ppt

上传人:天天快乐 文档编号:884086 上传时间:2018-04-30 格式:PPT 页数:36 大小:2.12MB
下载 相关 举报
1-linux文件系统与进程.ppt_第1页
第1页 / 共36页
1-linux文件系统与进程.ppt_第2页
第2页 / 共36页
1-linux文件系统与进程.ppt_第3页
第3页 / 共36页
1-linux文件系统与进程.ppt_第4页
第4页 / 共36页
1-linux文件系统与进程.ppt_第5页
第5页 / 共36页
点击查看更多>>
资源描述

1、Linux文件系统与进程,Linux系统介绍Linux系统产品RedHat,Debian,Ubuntu,Novell/SuSERed Hat Enterprise Linux 3操作方法:图形人机交互方式命令行方式 Linux文件系统EXT2分区目录结构文件访问编程I/O操作 进程进程标识进程控制,Linux系统介绍-Linux系统产品,嵌入式Linux: uCLinux,Android系统,Linux系统介绍-操作方法,图形人机交互方式,没有磁盘区采用目录管理,命令行方式,Linux文件系统与进程,Linux系统介绍Linux系统产品RedHat,Debian,Ubuntu,Novell/S

2、uSERed 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等) b

3、oot 存放用于系统引导时使用的各种文件 dev 用于存放设备文件 etc 存放系统配置文件 home 存放所有用户文件的根目录 lib 存放跟文件系统中的程序运行所需要的共享库及内核模块 mnt 系统管理员安装临时文件系统的安装点 opt 额外安装的可选应用程序包所放置的位置 proc 虚拟文件系统,存放当前内存的映射 root 超级用户目录 sbin 存放二进制可执行文件,只有root才能访问 tmp 用于存放各种临时文件 usr 用于存放系统应用程序,比较重要的目录/usr/local 本地管理员软件安装目录 var 用于存放运行时需要改变数据的文件,Linux文件系统文件访问命令,ls

4、 目录 : 列出目录下的文件和子目录 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

5、 rm 文件 :删除文件 man 命令 :查看命令的帮助文件vi命令 : 编辑文件chmod命令 : 修改权限用户管理命令useradd groupadd userdel groupdel su mount: 装载设备,Linux文件系统文件I/O,文件描述符一个非负整数进程通过文件描述符来访问文件打开或创建一个文件,第一个参数pathname是要打开(或要创建)的文件名或含路径的文件名第二个参数flags是标志打开的方式,这个参数用来说明这个系统调用的多个选择项:O_RDONLY:表示请求以只读方式打开文件。O-WRONLY:表示请求以只写的方式打开文件。O_RDWR: 表示以可读写的方式打

6、开文件。,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

7、,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个字节写入文件描述符所指的文件 调

8、用返回情况调用成功时,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

9、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操作 进程进程标识进程控制,进程基

10、本概念,程序与进程程序存放在磁盘文件中的可执行文件,是静态的。进程程序一旦装入内存,而且和它的运行环境结合在一起,它就称为进程,是动态的。生命周期:装入内存到退出内存中止。分配了资源:CPU资源、内存资源、I/O资源等。,Linux下的进程进程标识号,进程标识号系统给每个进程定义了一个标识该进程的非负整数,称作进程标识符。每个程序执行起来后,有一个主进程。当某一进程终止后,其标识符可以重新用作另一进程的标识符。不过,一个标识符所代表的进程在任何时刻都是惟一的。系统把0和1保留给系统购两个重要进程。0进程是调度进程,它按原则把处理机分配给进程使用。进程1是初始化进程,它是程序/sbin的执行。进

11、程1是系统所有其他进程的祖先,并且是进程结构的最终控制者。系统根据进程标识号来管理进程,Linux下的进程进程标识号 (续),Linux下的进程进程控制:创建,父进程、子进程 /Linux独有的cow优化技术调用成功时对父进程返回子进程的PID,对子进程返回0。调用失败时,给父进程返回-1, 没有子进程创建。进程共享代码空间,但是数据空间是互相独立的,子进程数据空间中的内容是父进程的完整拷贝,Linux下的进程进程控制:同步,调用wait的进程进入睡眠状态直到它的一个子进程退出时或收到一个不能被忽略的信号时被唤醒。如果调用发出时,已经有退出的子进程(这时子进程的状态是僵死状态),该调用立即返回

12、。其中调用返回时参数status中包含子进程退出时的状态信息(正常退出还是被非正常结束的;正常结束时的返回值,或被哪一个信号结束等信息)。waitid与wait函数在调用时的区别是waitid等待由参数pid指定的子进程退出。参数options的取值及其含义如下:WNOHANG:该选项要求如果没有子进程退出就立即返回。WUNTRACED:对已经停止但本不用报告状态的子进程,该调用也从等待中返回和报告状态。,Linux下的进程进程控制:举例 (续),除了使用exit函数来终止进程外,当进程运行完、程序到达main函数末时,进程会自动终止。当进程在main函数内执行return语句也会终止。_ex

13、it函数只是简单的退出调用函数,而不会关闭文件,清空缓冲区,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);/

14、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下的进程进程控制:举例 (续

15、),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(,两个进程,哪个先执行?本例中,哪个先打印?,作业,请在Linux系统下新建文件“input.txt”,输入字符“a b c d e”;编写一个C语言程序:主进程创建两个子进程一个子进程向上述“input.txt”追加写入10个字符;另外一个子进程从上述“input.txt”读出前10个字符,并显示在终端屏幕。编译调试上述C语言程序(第一次实验课给老师演示),

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 经营企划

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报