博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UNIX环境高级编程读书笔记
阅读量:5024 次
发布时间:2019-06-12

本文共 1148 字,大约阅读时间需要 3 分钟。

我开始认识到笔记有2个部分

1. 总结知识点,将知识以简洁有序的方式呈现出来(也是学习过程的一个重要部分)。把书读薄

2. 考虑书中的细节,做讨论,还是把结果适度(该简洁的简洁,该详细的详细)地呈现出来。把书读厚

原则上知识获取的过程以及结果的表示可以通过文字记录下来。          

 这里先读薄,摘要点。

 

第一章 UNIX基础知识

1. 高级语言的运行与底层(操作系统,计算机机器指令&硬件)有关,可以研究下一个C程序是具体怎么在linux环境下编译的,又是怎么运行的来加深理解。

   从操作系统来看,可以理解为:它为上层提供了一个 系统调用=system call 的接口。

   LINUX具体的,system-call上又建立了库函数,system-call与库函数可以认为共同构建了UNIX的编程环境。

 

2. UNIX标准化以及实现

信息量有些大,我试着总结下:

i)主要的标准有

  ANSI C(ANSI 是美国标准化组织,是OSI的成员),有24个区

  IEEE: POSIX,是ANSI C的超集,是操作系统的接口定义(可以看到C是一种面向机器的系统级语言),除了ANSI C之外

主要包含必需,XSI扩展,可选3种头文件。

  Open Group: SUS(Single UNIX Specification),Open Group 拥有Unix的商标,现在一般认为SUS是POSIX的超集。

ii)Unix系统实现

出现了一个“限制”的概念,在SUS前提下某具体UNIX系统对可变的“限制”提供了具体的回答。

函数sysconf,pathconf,fpathconf查找限定值。

 

 3. 文件I/O

  核心概念是进程的task_struct包含struct files_struct *files,files_struct则包含许多文件表项(int 文件描述符,* file结构体)files_struct维护着打开的文件(一个文件也可以多次打开),file结构体则维护打开的相关信息比如文件对象inode指针,文件打开方式,文件偏移。

 files_struct=(int i, file_open)------->file_open=(mode,offset,link_to_file) 

   相关的函数操作有open,creat,close,lseek,read,write,dup/dup2(新建文件打开指向同个file_open),sync/fsync/fdatasync(缓存操作),fcntl(改变打开文件的属性),ioctl(其他函数)。

4. 文件与目录

 

转载于:https://www.cnblogs.com/hongxia/p/3788756.html

你可能感兴趣的文章
Oracle 体系结构之ORACLE物理结构
查看>>
ORA-12538: TNS: no such protocol adapter
查看>>
盒子模型
查看>>
局域网协议
查看>>
[HNOI2012]永无乡 线段树合并
查看>>
Spring整合hibernate:3、使用XML进行声明式的事务管理
查看>>
SqlServer之Convert 函数应用格式化日期(转)
查看>>
软件测试领域中的10个生存和发展技巧
查看>>
Camera前后摄像头同时预览
查看>>
HDU 1856
查看>>
课堂作业01--架构师的职责
查看>>
iOS计算富文本(NSMutableAttributedString)高度
查看>>
2017/09/15 ( 框架2)
查看>>
SQL中join的用法
查看>>
dapper使用时性能优化
查看>>
POJ 2001 Shortest Prefixes(字典树)
查看>>
【Silverlight】汉诺塔游戏,带AI
查看>>
BigDecimal的引入和概述
查看>>
Oracle database server architecture
查看>>
StrictMode 详解
查看>>