Unit高级环境编程 知识积累。

本文仅作个人积累。待功成,重新分类排版。

1:shell 为命令行解释器。分为:交互式Shell和Shell脚本。

2:文件名建议字符集:字母+数字+ ./-/_   尽量不要使用其他符号。因为特殊符号在很多功能中已经被占用。

3:

时间: 2024-11-02 23:40:18

Unit高级环境编程 知识积累。的相关文章

Unit高级环境编程 知识积累(二)。

本文仅作个人积累.待功成,重新分类排版. 章14起 1:非阻塞IO:发出open/read/write等IO操作,并使这些操作不会永远阻塞.当不能完成时,会立即出错返回. 1,非阻塞的两种标志方式:指定标志:O_NONBLOCK. 2,非阻塞语义:文件状态标志的更改影响同一文件表项的所有用户,但与通过其他文件表项对同一设备的访问无关.(关联于文件表项) 2:记录锁功能(字节范围锁):一个进程正在读/修改文件的某个部分时,使用记录锁可以阻止其他进程修改同一个文件区. 1,它可以只锁住文件的一段区域

《unix高级环境编程》终端 I/O——终端 IO 基本概述

终端基本概念 终端 IO 是一种字符型设备,终端特殊设备文件一般有以下几种: 串行端口终端:是使用计算机串行端口连接的设备,计算机把每个串行端口都看作是一个字符设备.串行端口所对应的设备名称 /dev/ttySn(n表示从0开始的整数): 伪终端:是成对的逻辑终端设备,例如 /dev/ptyp3 和/ dev/ttyp3(在设备文件系统中分别是 /dev/pty/m3 和/ dev/pty/s3 ),它们与实际物理设备并不直接相关: 控制终端:是当前进程的控制终端的设备特殊文件 /dev/tty

UNIX高级环境编程(15)进程和内存分配 < 故宫角楼 >

故宫角楼是很多摄影爱好者常去的地方,夕阳余辉下的故宫角楼平静而安详. ? 首先,了解一下进程的基本概念,进程在内存中布局和内容. 此外,还需要知道运行时是如何为动态数据结构(如链表和二叉树)分配额外内存的. 一 进程 1 进程和程序 进程:是一个可执行程序的实例. 程序:包含一系列信息的文件,这些信息描述了如何在运行时创建一个进程.包含如下信息: 二进制格式标识:如最常见的ELF格式. 机器语言指令:对程序算法进行编码. 程序入口地址:标识程序开始执行时的起始指令位置. 数据:程序文件包含的变量

UNIX高级环境编程(4)Files And Directories - umask、chmod、文件系统组织结构和链接

本篇主要介绍文件和文件系统中常用的一些函数,文件系统的组织结构和硬链接.符号链接. 通过对这些知识的了解,可以对Linux文件系统有更为全面的了解. ? 1 umask函数 之前我们已经了解了每个文件与权限相关的9个位(bit),我们现在来了解一下当每个进程创建文件时默认会设置该文件的文件权限(the file mode creation mask). umask函数设置该进程默认创建文件的权限掩码(the file mode creation mask),并且返回之前的权限掩码值. #incl

UNIX高级环境编程(8)进程环境(Process Environment)- 进程的启动和退出、内存布局、环境变量列表

在学习进程控制相关知识之前,我们需要了解一个单进程的运行环境. 本章我们将了解一下的内容: 程序运行时,main函数是如何被调用的: 命令行参数是如何被传入到程序中的: 一个典型的内存布局是怎样的: 如何分配内存: 程序如何使用环境变量: 程序终止的各种方式: 跳转(longjmp和setjmp)函数的工作方式,以及如何和栈交互: 进程的资源限制 ? 1 main函数 main函数声明: int main (int argc, char *argv[]); 参数说明: argc:命令行参数个数

Win32编程知识积累

Win32编程预知识 Windows sdk中有命令行工具,也有编译器和连接器.可以直接使用命令行编译链接C or C++编写的windows程序.而不必使用专业开发工具. Sdk(Software Development Kit)不支持硬件驱动开发. 绝大多数Windows APIs是由函数和com接口构成的,极少数是c++类(最典型的是GDI+, one of the 2-D graphics APIs) Windows api数据类型因为历史问题而有重复和冗余. ? 常用typedefs:

UNIX高级环境编程(3)Files And Directories - stat函数,文件类型,和各种ID

在前面的两篇,我们了解了IO操作的一些基本操作函数,包括open.read和write. 在本篇我们来学习一下文件系统的其他特性和一个文件的属性,涉及的函数功能包括: 查看文件的所有属性: 改变文件所有者: 改变文件权限: 操作文件夹. 我们还会了解一些文件系统相关的数据结构和符号链接(symbolic link). 1 函数stat.fstat.fstatat.lsat函数 #include <sys/stat.h> int stat(const char *restrict pathnam

UNIX高级环境编程(2)FIle I/O - 原子操作、共享文件描述符和I/O控制函数

引言: 本篇通过对open函数的讨论,引入原子操作,多进程通信(共享文件描述符)和内核相关的数据结构. 还会讨论集中常见的文件IO控制函数,包括: dup和dup2 sync,fsync和fdatasync fcntl ioctl /dev/fd ? 一.文件共享 这里所说的文件共享主要指的是进程间共享打开的文件. 这一节主要讨论文件在进程间共享的理论基础和数据结构,不涉及具体的技术实现,不同的系统可能会有不同的实现. 每一个打开的文件,涉及内核中的三种数据结构,这三种数据结构也是文件在进程间共

UNIX高级环境编程(12)进程关联(Process Relationships)- 终端登录过程 ,进程组,Session

在前面的章节我们了解到,进程之间是有关联的: 每个进程都有一个父进程: 子进程退出时,父进程可以感知并且获取子进程的退出状态. 本章我们将了解: 进程组的更多细节: sessions的内容: login shell和我们从login shell启动的进程之间的关系. ? 一 终端登录(Terminal Logins) BSD Terminal Logins ?BSD终端的登录程序在过去35年都没有改变. 系统管理员(the system adminstrator)创建一个文件 /etc/ttys