UNIX标准及实现

ISO C:

  国际标准化组织(International Organization for standardization , ISO)ISO C标准的意图是提供C程序的可移植性,使其能适合于大量不同的操作系统。此标准不仅定义C程序设计语言的语法和语义,还定义了其标准库。

IEEE POSIX:

  POSIX(Protable  open system interface 可移植性操作系统接口)是一个最初由IEEE(institute of Electricial and Electronics Engineers)美国电气和电子工程师协会制定的协议族。POSIX指的是可移植操作系统接口。后来发展成很多标记为1003的标准以及标准从草案,比如shell和应用程序。POSIX.1是标准。

  四种UNIX系统:FreeBSD、Linux、Mac OS X 、Solaris这些类UNIX系统都是由POSIX(所包含的ISO C标准库)实现的。

Single UNIX Specification :

  POSIX.1中的X/open系统接口(X/Open System Interface, XSI)选项描述了可选的接口,也定义了遵循XSI的实现必须支持POSIX.1的那些可选部分。这些必须支持的部分包括:文件同步、线程栈地址和长度属性、线程进程共享同步以及_XOPEN_UNIX符号常量。只有遵循XSI的实现才能称之为UNIX系统。
UNIX系统实现:

  上面的3个由各自独立的组织所制定的标准: ISO C、 IEEE POSIX以及Single UNIX Specification。标准只是接口的规范。这些标准是如何与现实世界相关联的?这些标准由厂商采用,然后转变成具体实现。

UNIX系统家族树:

  (1)AT&T分支(UNIX的商业版本)

  (2)加州大学伯克利分校分支,由此引出4.xBSD实现

  (3)由AT&T贝尔实验室的计算科学研究中心不断开发的UNIX研究版本。

BSD:

  BSD(Berkeley Software Distribution)是由加州大学伯克利分校的计算机研究组在AT&T基础上研发的UNIX系统。

FreeBSD:

  FreeBSD是基于4.4BSD-Lite的操作系统。免费。

Linux:

  类UNIX系统。由Linus Torvalds在1991年为代替MINIX而研发的。

Mac OS X:

  使用了完全不同的技术。核心操作系统成为“Darwin”,基于Mach内盒、FreeBSD操作系统以及具有面向对象框架的驱动和其他内核拓展的结合。

Solaris:

  由Sun Microsystems(Oracle)开发的UNIX系统版本。

限制:

  三种限制:

  (1)编译时限制(头文件)

  (2)与文件或目录无关的运行时限制(sysconf函数)

  (2)与文件或目录有关的运行时限制(pathconf 和 fpathconf函数)

  确定的运行时限制:函数sysconf、pathconf、fpathconf定义在<limit.h>头文件中

    man一下sysconf:函数用来得到运行时配置信息,函数包含在<unistd.h> and <limit.h>头文件中。提供给运行是程序产看变量的取值,如未定义返回-1;

  不确定的运行时限制:

    路径名:动态分配存储路径名的空间

    最大打开文件数:守护进程(daemon process,在后台运行且不与终端连接的一种进程)中一个常见的代码序列是关闭所有打开的文件。

选项:

  

每天学点Linux命令:


chown 
sakia hh.c  要修改文件hh.c的所有者.修改为sakia的这个用户所有

chmod 777 hh.c   把hh.c文件修改为可写可读可执行

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

  1. (十三) [终篇] 一起学 Unix 环境高级编程 (APUE) 之 网络 IPC:套接字

    . . . . . 目录 (一) 一起学 Unix 环境高级编程 (APUE) 之 标准IO (二) 一起学 Unix 环境高级编程 (APUE) 之 文件 IO (三) 一起学 Unix 环境高级编 ...

  2. multiple definition of `err_sys' 《UNIX环境高级编程》

    本文地址:http://www.cnblogs.com/yhLinux/p/4079930.html 问题描述: [点击此处直接看解决方案] 在练习<UNIX环境高级编程>APUE程序清单 ...

  3. unix环境高级编程基础知识之第二篇(3)

    看了unix环境高级编程第三章,把代码也都自己敲了一遍,另主要讲解了一些IO函数,read/write/fseek/fcntl:这里主要是c函数,比较容易,看多了就熟悉了.对fcntl函数讲解比较到位 ...

  4. (一) 一起学 Unix 环境高级编程 (APUE) 之 标准IO

    . . . . . 目录 (一) 一起学 Unix 环境高级编程 (APUE) 之 标准IO (二) 一起学 Unix 环境高级编程 (APUE) 之 文件 IO (三) 一起学 Unix 环境高级编 ...

  5. (二) 一起学 Unix 环境高级编程 (APUE) 之 文件 IO

    . . . . . 目录 (一) 一起学 Unix 环境高级编程 (APUE) 之 标准IO (二) 一起学 Unix 环境高级编程 (APUE) 之 文件 IO (三) 一起学 Unix 环境高级编 ...

  6. (三) 一起学 Unix 环境高级编程 (APUE) 之 文件和目录

    . . . . . 目录 (一) 一起学 Unix 环境高级编程 (APUE) 之 标准IO (二) 一起学 Unix 环境高级编程 (APUE) 之 文件 IO (三) 一起学 Unix 环境高级编 ...

  7. (四) 一起学 Unix 环境高级编程(APUE) 之 系统数据文件和信息

    . . . . . 目录 (一) 一起学 Unix 环境高级编程 (APUE) 之 标准IO (二) 一起学 Unix 环境高级编程 (APUE) 之 文件 IO (三) 一起学 Unix 环境高级编 ...

  8. (五) 一起学 Unix 环境高级编程 (APUE) 之 进程环境

    . . . . . 目录 (一) 一起学 Unix 环境高级编程 (APUE) 之 标准IO (二) 一起学 Unix 环境高级编程 (APUE) 之 文件 IO (三) 一起学 Unix 环境高级编 ...

  9. (六) 一起学 Unix 环境高级编程 (APUE) 之 进程控制

    . . . . . 目录 (一) 一起学 Unix 环境高级编程 (APUE) 之 标准IO (二) 一起学 Unix 环境高级编程 (APUE) 之 文件 IO (三) 一起学 Unix 环境高级编 ...

  10. (七) 一起学 Unix 环境高级编程(APUE) 之 进程关系 和 守护进程

    . . . . . 目录 (一) 一起学 Unix 环境高级编程 (APUE) 之 标准IO (二) 一起学 Unix 环境高级编程 (APUE) 之 文件 IO (三) 一起学 Unix 环境高级编 ...

随机推荐

  1. BZOJ 1832、1787 洛谷 4281 [AHOI2008]紧急集合

    [题解] 题目要求找到一个集合点,使3个给定的点到这个集合点的距离和最小,输出集合点的编号以及距离. 设三个点为A,B,C:那么我们可以得到Dis=dep[A]+dep[B]+dep[C]-dep[L ...

  2. 【Codeforces 466B】Wonder Room

    [链接] 我是链接,点我呀:) [题意] 让你把长为a,宽为b的房间扩大(长和宽都能扩大). 使得它的面积达到6*n 问你最小的能满足要求的面积是多少 输出对应的a和b [题解] 假设a< b ...

  3. PhantomJS & headless browser & pdf

    PhantomJS http://phantomjs.org/ https://github.com/Medium/phantomjs https://github.com/Medium/phanto ...

  4. 互斥的数(codevs 1553)

    题目描述 Description 有这样的一个集合,集合中的元素个数由给定的N决定,集合的元素为N个不同的正整数,一旦集合中的两个数x,y满足y = P*x,那么就认为x,y这两个数是互斥的,现在想知 ...

  5. 武大OJ 622. Symmetrical

    Description          Cyy likes something symmetrical, and Han Move likes something circular. Han Mov ...

  6. mongodb片健的选取及更改

    1.总的原则:选键的时候多考虑以下问题. 写操作是怎么样的,有多大? 系统每小时会写多少数据,每天呢,高峰期呢 那些字段是随机的,那些是增长的 读操作是怎么样的,用户在访问那些数据 数据索引做了吗?应 ...

  7. CI session 类的用法

    最近使用codeingiter框架,发现默认的session 不是很好用,以下是用法总结:使用的是2.0.2的版本 1.扩展自带的session类:application/libraries/MY_s ...

  8. HDU 4849 Wow! Such City!陕西邀请赛C(最短路)

    HDU 4849 Wow! Such City! 题目链接 题意:依照题目中的公式构造出临接矩阵后.求出1到2 - n最短路%M的最小值 思路:就依据题目中方法构造矩阵,然后写一个dijkstra,利 ...

  9. PL/SQL个人学习笔记

    资料1 -- Created on 2014/8/20  declare    -- Local variables here   i integer; begin   i := 12;   -- T ...

  10. FZU 2168 防守阵地 I(公式推导)(经典)(中等)

    Problem 2168 防守阵地 I Accept: 377    Submit: 1280 Time Limit: 3000 mSec    Memory Limit : 32768 KB  Pr ...