常规文件 只有索引节号(i-number,是一批i-node的索引),i-node不含文件名及数据字节,包括文件类型,链接数量,uid,gid,访问权限,字节数,最后访问时间,最后修改时间,信息节点最后修改时间,文件内容磁盘块指针

目录:使用名称来标识文件,实际中总是用目录来访问文件,每个目录包含一个两列表,一列是文件名称,一列是索引节号,名称/信息节点对被称为链接(link)

块特殊文件:包含固定长度块的数组,并使用内核缓冲区池加速IO操作

字符特殊文件:不适合使用缓冲区,块大小不定

程序运行环境:1 指令段(文本段),用户数据段,系统数据段

进程 组成 进成组(任务job) 组成 会话

每个进程都有4个相关的进程ID号:进程ID,父进程ID,进程组ID,会话领导者ID

进程间通信:

共享文件偏移,
信号,
进程跟踪(主要调试器使用),
文件(最常见一个写一个读),
管道(解决了文件的同步问题,3缺点:通信的进程必须是相关的,无法保证超过本地设置最大值的写入原子性,可能会变慢[数据写入内核再复制到读进程])==》
命名管道:解决管道第一个问题,
信号量:防止两个或多个进程在同一时间访问同一资源的计数器,使用空文件
文件锁:一种具有特殊目的的信号量,可以防止两个及两个以上的进程访问文件的同一部分(建议锁,强制锁)
消息:可发发送到信息队列的少量数据

共享存储器:最快的进程间通信,可将同一存储器映射到多个进程地址空间。

socket(11种)

高级UNIX环境编程的更多相关文章

  1. 高级UNIX环境编程7 进程

    每个程序都会收到一张环境表 extern char **environ; c程序的存储空间布局: 正文段:共享,只读 初始化数据段:存函数以外的赋值 非初始化数据段(bbs):block starte ...

  2. 高级UNIX环境编程5 标准IO库

    标准IO库都围绕流进进行的 <stdio.h><wchar.h> memccpy 一般用汇编写的 ftell/fseek/ftello/fseeko/fgetpos/fsetp ...

  3. 高级UNIX环境编程13 守护进程

    linux下,keventd守护进程为内核中运行的执行的函数提供进程上下文 bdflush,kupdated将高速缓存中的数据冲洗到磁盘上

  4. 高级UNIX环境编程11 线程

    <pthread.h> pthread_equal pthread_self(void) pthread_create() pthread_close() pthread_join() p ...

  5. 高级UNIX环境编程10 信号

    信号是软件中断,提供一种处理异步事件的方法 <signal.h> sigaction()

  6. 高级UNIX环境编程4 文件和目录

    #include<sys/stat.h> stat fstat lstat fchmod 对已打开的文件操作

  7. 高级UNIX环境编程3 FILE IO

    POSIX中,STDIN_FILENO,STDOUT_FILENO,STDERR_FILENO 对应0,1,2 每个打开的文件都有一个与其想关联的 "current file offset& ...

  8. 高级UNIX环境编程2

    perror("error:") ;  strerror 日历时间:time_t (1970.1.1开始的秒数)     struct timeval (秒数和微秒)  struc ...

  9. UNIX环境编程学习——反思认识

     学习情况: 有关UNIX系统环境编程的学习时间用来非常长的时间.可是感觉效果还是不是太好,在中间经过了期末考试.用来非常长的时间用来学习专业课.就将该过程的学习放到了一边上,放假以后又回家造成了 ...

随机推荐

  1. 简单makefile的写法

    一个项目下的文件比较多,如果单个的输入,比较费劲,所以就需要把编译过程写进一个MakeFile文件中. 下面建立5个文件,3个cxx文件,2个hxx头文件 //filename main.cxx #i ...

  2. Static block start new thread

    Static block start new thread public class StaticThreadInit { static{ Threadt = newThread(){ public ...

  3. HDU ACM 1063 Exponentiation 大实数乘方

    分析:大实数乘方计算. #include<iostream> #include<string> using namespace std; struct BigReal //高精 ...

  4. ios7高级

    1.实现控制器和视图. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1     ...

  5. HTML静态网页(框架)

    1.frameset frameset最外层,使用时需要去除body改用frameset. <frameset  rows="100,*" frameborder=" ...

  6. iOS网络请求基础

    这篇是关于网络请求的,结合公司的实际情况编写,如果有不同意见欢迎留言共同讨论. iOS在9.0之后彻底放弃了NSURLConnection,现在已经改用了NSURLSession进行网络请求.一般现在 ...

  7. JQuery中判断checkbox是否选中与禁用鼠标右键

    if ($("#wds_checkbox").attr("checked")) { flag = ; } else { flag = ; } 禁用鼠标右键 // ...

  8. ASP.NET MVC 中的 T4

    每次使用“添加视图”或“添加控制器”功能时,您都在 ASP.NET MVC 项目中使用 T4 模板.这些模板位于 Common7\IDE\ItemTemplates\CSharp\Web\MVC 2\ ...

  9. javascript收集整理

    //特殊字符去掉 function check(obj){ var test=obj.value.match(/[^A-Za-z0-9]/g);//这条语句表示在输入文本中是否包含不符合要求的字符,如 ...

  10. Teclast/台电 P98HD四核测评9.7寸台电P98HD 评测体验 (转载)

    自从苹果新iPad上市推出后,拥有Retina高清屏幕分辨率的平板让我们的视线一下子变得“清晰”起来,超高2048x1536分辨率也成为厂商们追捧的对象,在经历了双核时代配备高清分辨率对于硬件性能承载 ...