05 2017 档案

摘要:上一章(15章)中介绍了UNIX系统所提供的多种经典进程间通信机制(IPC):管道PIPE、命名管道FIFO、消息队列Message Queue、信号量Semaphore、共享内存Shared Memory,另外还有第10章介绍的信号Signal。这六种IPC各有差异,但是都存在一个共同的限制:它们 阅读全文
posted @ 2017-05-26 20:41 impluse 阅读(239) 评论(0) 推荐(0) 编辑
摘要:历史是什么:是过去传到将来的回声,是将来对过去的反映。 ——雨果(法)《笑面人》 阅读本文大概需要花费你15分钟 文章导航: 1. 计算机的发展 第一台计算机是什么时候诞生的?这不是一个容易回答的问题,因为有很多不同的“计算机”定义的分类,比如机械计算机、电子计算机,我甚至可以将算盘也定义成一种计算 阅读全文
posted @ 2017-05-24 10:55 impluse 阅读(1841) 评论(0) 推荐(1) 编辑
摘要:这一章涉及很多概念和函数,包括:非阻塞I/O、记录锁、I/O复用、异步I/O、readv和writev函数以及内存映射。 非阻塞I/O 在Unix中,可以将系统调用分为两种,一种是“低速”系统调用,另一种是其他系统调用。前一种是可能导致主调进程永久阻塞的一种系统调用,比如管道,当另一端没有准备好时, 阅读全文
posted @ 2017-05-22 15:55 impluse 阅读(304) 评论(0) 推荐(0) 编辑
摘要:守护进程daemon是一种生存周期很长的进程。它们通常在系统引导时启动,在系统关闭时终止。守护进程是没有终端的,它们一直在后台运行。 守护进程的特征 在Linux系统中,可以通过命令 ps -efj 来查看守护进程。例如下图: 从上图中可以看到 TTY 一列,该列显示每个进程的终端,对于问号(?)显 阅读全文
posted @ 2017-05-22 15:54 impluse 阅读(341) 评论(0) 推荐(0) 编辑
摘要:使用C++调用pthread_cleanup_push( )时,下面的代码是无法编译通过的: pthread_cleanup_push(cleanup, "thread 1 first handler"); 如果编译,则编译器可能会提示:no matching constructor for ini 阅读全文
posted @ 2017-05-16 23:54 impluse 阅读(327) 评论(0) 推荐(0) 编辑
摘要:SIGSTOP和SIGKILL区别是:前者是使进程暂时停止,即中止,也就是说使进程暂停,将进程挂起,比如你在终端里面执行一个脚本或者程序,执行到一半,你想暂停一下,你按下ctrl+z,就会导致终端发送一个SIGSTOP信号给进程,然后程序会暂停,然后我们再用kill命令给进程发送一个第18号信号SI 阅读全文
posted @ 2017-05-02 10:39 impluse 阅读(294) 评论(0) 推荐(0) 编辑
摘要:在第8章学习了进程的控制原语,通过各种进程原语可以对进程进行控制,包括新建进程、执行新程序、终止进程等。在使用fork( )产生新进程后,就出现了进程父子进程的概念,这是进程间的关系。本章更加详细地说明进程间的关系,包括:进程组、会话、作业等。 终端登录 当我们通过硬件终端而非网络终端登录到系统时, 阅读全文
posted @ 2017-05-02 10:36 impluse 阅读(332) 评论(0) 推荐(0) 编辑
摘要:本章是UNIX系统中进程控制原语,包括进程创建、执行新程序、进程终止,另外还会对进程的属性加以说明,包括进程ID、实际/有效用户ID。 进程标识 每个进程某一时刻在系统中都是独一无二的,它们之间是用一个非负数的唯一ID来表示和区分,虽然是唯一的,但成立条件是某一时刻,进程ID可以在不同时刻复用,当一 阅读全文
posted @ 2017-05-02 10:35 impluse 阅读(514) 评论(0) 推荐(0) 编辑
摘要:本章涉及C/C++程序中main函数是如何被调用的、命令行参数如何传递给main函数、程序的内存空间布局、程序如何使用环境变量、程序如何终止退出。 main函数 C程序或C++程序总是从main函数开始执行的,其中这个总是从main函数开始执行是我们人为约定的,因为main( )函数也是当做一个函数 阅读全文
posted @ 2017-05-02 10:32 impluse 阅读(729) 评论(0) 推荐(0) 编辑
摘要:UNIX系统的正常运作需要用到大量与系统有关的数据文件,例如系统用户账号、用户密码、用户组等文件。出于历史原因,这些数据文件都是ASCII文本文件,并且使用标准I/O库函数来读取。 口令文件 /etc/passwd文件是UNIX安全的关键文件之一。该文件用于用户登录时校验用户的口令,文件中每行的一般 阅读全文
posted @ 2017-05-02 10:31 impluse 阅读(484) 评论(0) 推荐(0) 编辑
摘要:本章是关于C语言标准I/O库的,之所以在UNIX类系统的编程中会介绍C语言标准库,主要是因为UNIX和C之间具有密不可分的关系。由于UNIX系统存在很多实现,而每个实现都有自己的标准I/O库,为了统一,ISO C做出了标准说明。 标准I/O库相比于操作系统的I/O库,具有更高的效率和可移植性,前者是 阅读全文
posted @ 2017-05-02 10:30 impluse 阅读(615) 评论(0) 推荐(0) 编辑
摘要:第三章说明了关于文件I/O的基本函数,主要是针对普通regular类型文件。本章描述文件的属性,除了regular文件还有其他类型的文件。 函数stat、fstat、fstatat和lstat stat系列函数用于返回文件的属性信息,比如文件类型、大小、所有者、访问修改时间等。其头文件及函数原型如下 阅读全文
posted @ 2017-05-02 10:26 impluse 阅读(697) 评论(0) 推荐(0) 编辑
摘要:前面两章说明了UNIX系统体系和标准及其实现,本章具体讨论UNIX系统I/O实现,包括打开文件、读文件、写文件等。 UNIX系统中的大多数文件I/O只需要用到5个函数:open、read、write、lseek、close。它们是不带缓冲的I/O。 只要涉及多个进程间共享资源,原子操作的概念就变得很 阅读全文
posted @ 2017-05-02 10:25 impluse 阅读(507) 评论(0) 推荐(0) 编辑
摘要:在过去的将近25年时间,人们为了UNIX的标准化做出了种种努力,这使得程序在不同版本的UNIX系统之间的移植相当容易。 ISO C 1989年,C语言首个标准得到批准,其为C89。次年,一个带有小改动的版本标准被批准其为C90。因此,C89和C90通常指同一种语言。在2000年三月,ANSI采纳了I 阅读全文
posted @ 2017-05-02 10:23 impluse 阅读(665) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示