高级UNIX环境编程
常规文件 只有索引节号(i-number,是一批i-node的索引),i-node不含文件名及数据字节,包括文件类型,链接数量,uid,gid,访问权限,字节数,最后访问时间,最后修改时间,信息节点最后修改时间,文件内容磁盘块指针
目录:使用名称来标识文件,实际中总是用目录来访问文件,每个目录包含一个两列表,一列是文件名称,一列是索引节号,名称/信息节点对被称为链接(link)
块特殊文件:包含固定长度块的数组,并使用内核缓冲区池加速IO操作
字符特殊文件:不适合使用缓冲区,块大小不定
程序运行环境:1 指令段(文本段),用户数据段,系统数据段
进程 组成 进成组(任务job) 组成 会话
每个进程都有4个相关的进程ID号:进程ID,父进程ID,进程组ID,会话领导者ID
进程间通信:
共享文件偏移,
信号,
进程跟踪(主要调试器使用),
文件(最常见一个写一个读),
管道(解决了文件的同步问题,3缺点:通信的进程必须是相关的,无法保证超过本地设置最大值的写入原子性,可能会变慢[数据写入内核再复制到读进程])==》
命名管道:解决管道第一个问题,
信号量:防止两个或多个进程在同一时间访问同一资源的计数器,使用空文件
文件锁:一种具有特殊目的的信号量,可以防止两个及两个以上的进程访问文件的同一部分(建议锁,强制锁)
消息:可发发送到信息队列的少量数据
共享存储器:最快的进程间通信,可将同一存储器映射到多个进程地址空间。
socket(11种)
高级UNIX环境编程的更多相关文章
- 高级UNIX环境编程7 进程
每个程序都会收到一张环境表 extern char **environ; c程序的存储空间布局: 正文段:共享,只读 初始化数据段:存函数以外的赋值 非初始化数据段(bbs):block starte ...
- 高级UNIX环境编程5 标准IO库
标准IO库都围绕流进进行的 <stdio.h><wchar.h> memccpy 一般用汇编写的 ftell/fseek/ftello/fseeko/fgetpos/fsetp ...
- 高级UNIX环境编程13 守护进程
linux下,keventd守护进程为内核中运行的执行的函数提供进程上下文 bdflush,kupdated将高速缓存中的数据冲洗到磁盘上
- 高级UNIX环境编程11 线程
<pthread.h> pthread_equal pthread_self(void) pthread_create() pthread_close() pthread_join() p ...
- 高级UNIX环境编程10 信号
信号是软件中断,提供一种处理异步事件的方法 <signal.h> sigaction()
- 高级UNIX环境编程4 文件和目录
#include<sys/stat.h> stat fstat lstat fchmod 对已打开的文件操作
- 高级UNIX环境编程3 FILE IO
POSIX中,STDIN_FILENO,STDOUT_FILENO,STDERR_FILENO 对应0,1,2 每个打开的文件都有一个与其想关联的 "current file offset& ...
- 高级UNIX环境编程2
perror("error:") ; strerror 日历时间:time_t (1970.1.1开始的秒数) struct timeval (秒数和微秒) struc ...
- UNIX环境编程学习——反思认识
学习情况: 有关UNIX系统环境编程的学习时间用来非常长的时间.可是感觉效果还是不是太好,在中间经过了期末考试.用来非常长的时间用来学习专业课.就将该过程的学习放到了一边上,放假以后又回家造成了 ...
随机推荐
- 一步一步学android之控件篇——ScrollView
一个手机的屏幕大小是有限的,那么我要显示的东西显示不下怎么办?这就会使用到ScrollView来进行滚动显示,他的定义如下: 可以看到ScrollView是继承于FrameLayout的,所以Scro ...
- java常用日期函数总结
请记得要引入java.util.Date和java.text.SimpleDateFormat两个包 1.计算某一月份的最大天数 Calendar time=Calendar.getInstance( ...
- EGit with eclipse to clone project from GitHub(Step by step)
转载请注明出处! 1. To find your project URL inside GitHub: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveWF ...
- 为客户打造RAC-DG一些遇到的问题汇总
昨日有建立一个客户RAC-DG物理备用数据库,这里的一般过程中再次列举一下,为了不涉及泄露隐私.的主要参数已被替换名称.详细路径也不一致.因为环境的客户端不与本机连接的网络同意,当故障不能削减各种报警 ...
- 不是技术牛人,如何拿到国内IT巨头的Offer(1)
转自:http://developer.51cto.com/art/201404/436685.htm 不久前,byvoid面阿里星计划的面试结果截图泄漏,引起无数IT屌丝的羡慕敬仰.看看这些牛人,N ...
- jade初学
jade是一个比ejs略难得模板.express的默认模本就是jade. 今天看了一下其实不是太难~~ 笔记: jade中使用缩进来定义HTML文档的层次结构 jade不需要关闭标签 给div添加id ...
- 虎扯:小众玩物 webkit家的滚动条
前面的话:对只有一种浏览器支持的属性,就不要出来秀咱前端同学,就像是早些年手机们的充电口一样,集各家所长,咱今天说的是webkit的滚动条样式,视乎只有webkit支持此项定义,有见识的前辈来辩.这玩 ...
- zoj 1004 dfs
想多了!以为一直dfs所有的情况会超时,所以直接忽略了,就自己想了一个优化的算法,最后测试结果对了,但是wa了,自己写算法很容易考虑不周的,还是在最后没有办法的时候在考虑自己的算法吧!!!简单的dfs ...
- Matlab中的静态(持久)变量和全局变量
1.静态变量(persistent) 在函数中声明的变量,当函数调用完之后就会释放.如果想保留这个变量的值(供该函数下一次调用),可以把这个变量声明为静态变量.静态变量不能在声明的时候赋值,而且只能在 ...
- HDU OJ 4334 Trouble 2012 Multi-University Training Contest 4
题目:click here 题意: 给定5组数据,每组数据选择一个数,看是否能找到5个数的和为零. 分析: 千万不要~~T~~ 普通线性查找: #include <iostream> #i ...