1 / 15
文档名称:

linux知识点总结材料.doc

格式:doc   大小:24KB   页数:15页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

linux知识点总结材料.doc

上传人:beny00001 2022/1/21 文件大小:24 KB

下载得到文件列表

linux知识点总结材料.doc

文档介绍

文档介绍:word
word
2 / 15
word
七:file
表示linux的文件系统框架,并解释其中各个局部。
boot :启动相关的程序和配置
bin :常用的Linux命令,这些命令通常为可执行文件或这些文件的
sbin pefd[0]);
execlp("ls", "ls", "-1", NULL);
fprintf(stderr, "error execute ls\n");
exit(EXIT_FAILURE);
}
dup2(pipefd[0], STDIN_FILENO);
close(pipefd[0]);
close(pipefd[1]);
execlp("wc", "wc", "-1", NULL);
fprintf(stderr, "error execute wc\n");
exit(EXIT_FAILURE);
return 0;
}
编写两个进程a和b,使用有名管道进展通信。a向b传送字符串“hello〞,b接收并打印。
word
word
6 / 15
word
进程a:
#include<>
#include<>
#include<sys/>
#include<sys/>
#include<>
#include<>
#define PATH "./fifo"
#define SIZE 128
int main()
{
umask(0);
if (mkfifo (PATH,0666|S_IFIFO) == -1)//创建有名管道,mkfifo(管道文件名,管> 理权限)
{ //成功返回0 失败返回-1
perror ("mkefifo error");
exit(0);
}
int fd = open (PATH,O_RDONLY);
if (fd<0)
{
printf("open fd is error\n");
word
word
7 / 15
word
return 0;
}
进程b:
#include<>
#include<>
#include<sys/>
#include<sys/>
#include<>
#include<>
#define PATH "./fifo"
#define SIZE 128
int main()
{
char Buf[SIZE];
while(1)
{
printf("please Enter#:");
fflush(stdout); //清空缓冲区,并把缓冲区的内容输出
ssize_t s = read(0,Buf,sizeof(Buf)); //ssize_t 一个类型
word
word
8 / 15
word
if (s<0) //read(文件标识符,数据缓冲区,读取数据尺寸)
{ //失败或中断返回-1
perror("read is failed");
exit(1);
}
else if(s==0)
{
printf("read is closed!");
return 1;
}
else{
Buf[s]= '\0'; //最后一位,字符串完毕符
write(fd,Buf,strlen(Buf)); //write(文件表识符,数据缓冲区,写入文件尺寸)
}
}
return 0;
}
word
word
9 / 15
word
,改写里面第三个字节为0fH,再关闭它。
八:mem
表示进程的用户空间和内核空间都有哪些种类,列举各类内存申请函数并说明之。
代码区、静态数据变量、堆区、栈区
用户空间用vmalloc/malloc分配内存,内核空间用kmalloc/vmalloc分配内存。
malloc:是动态内存分配,用于申请一块连续的指定大小的内存块区域以void*类型返回分配的内存区域地址,函数声明void *malloc(size_t size);
vmalloc/kmalloc:在设备驱动程序或者内