会员
周边
众包
新闻
博问
闪存
赞助商
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
Orlion
https://blog.fanscore.cn
博客园
首页
新随笔
联系
管理
订阅
随笔分类 -
Linux系统编程
1
2
下一页
终端IO(上)
摘要:一、综述 终端IO有两种不同的工作方式: 规范方式输入处理。在这种方式中,终端输入以行为单位进行处理。对于每个读要求,终端驱动程序最多返回一行。 非规范方式输入处理。输入字符不以行为单位进行装配 如果不做特殊处理,则默认方式是规范方式。vi编辑程序使用非规范方式,其原因是其命令是由不以换行符终止的一
阅读全文
posted @
2017-03-09 21:00
orlion
阅读(653)
评论(0)
推荐(0)
编辑
[APUE]进程关系(下)
摘要:一、控制终端 对话期和进程组有一些其他特性: 一个对话期可以有一个单独的控制终端。通常是我们在其上登录的终端设备或伪终端设备。 建立与控制终端连接的对话期首进程,被称之为控制进程 一个对话期中的几个进程组可以被分成一个前台进程组以及一个或几个后台进程组 如果一个对话期有一个控制终端,则它有一个前台进
阅读全文
posted @
2017-02-26 16:39
orlion
阅读(441)
评论(0)
推荐(0)
编辑
[APUE]进程关系(上)
摘要:一、终端登录 1. 4.3+BSD终端登录 系统管理员创建一个通常名为/etc/ttys的文件,其中,每个终端设备有一行,每一行说明设备名和传到getty程序的参数,这些参数说明了终端的波特率。当系统bootstrap时内核创建进程ID 1,也就是init进程。init进程使系统进入多用户状态。in
阅读全文
posted @
2017-02-24 22:05
orlion
阅读(603)
评论(0)
推荐(0)
编辑
[APUE]进程控制(下)
摘要:一、更改用户ID和组ID 可以用setuid设置实际用户ID和有效用户ID。可以用setgid函数设置实际组ID和有效组ID。 有关改变用户ID的规则。 若进程具有root特权,则setuid函数将实际用户ID、有效用户ID,以及保存的设置-用户-ID设置为uid。 若进程没有root权限,但是ui
阅读全文
posted @
2017-02-14 21:35
orlion
阅读(493)
评论(1)
推荐(1)
编辑
[APUE]进程控制(中)
摘要:一、wait和waitpid函数 当一个进程正常或异常终止时会向父进程发送SIGCHLD信号。对于这种信号系统默认会忽略。调用wait/waidpid的进程可能会: 阻塞(如果其子进程都还在运行); 立即返回子进程的终止状态(如果一个子进程已经终止正等待父进程存取其终止状态); 出错立即返回(如果它
阅读全文
posted @
2017-01-11 20:24
orlion
阅读(556)
评论(0)
推荐(1)
编辑
深究标准IO的缓存
摘要:前言 在最近看了APUE的标准IO部分之后感觉对标准IO的缓存太模糊,没有搞明白,APUE中关于缓存的部分一笔带过,没有深究缓存的实现原理,这样一本被吹上天的书为什么不讲透彻呢?今天早上爬起来赶紧找了几篇文章看看,直到发现了这篇博客:http://blog.sina.com.cn/s/blog_65
阅读全文
posted @
2017-01-07 09:46
orlion
阅读(5867)
评论(1)
推荐(1)
编辑
[APUE]进程控制(上)
摘要:一、进程标识 进程ID 0是调度进程,常常被称为交换进程(swapper)。该进程并不执行任何磁盘上的程序--它是内核的一部分,因此也被称为系统进程。进程ID 1是init进程,在自举(bootstrapping)过程结束时由内核调用。该进程的程序文件在UNIX的早期版本中是/etc/init,在较
阅读全文
posted @
2017-01-06 20:26
orlion
阅读(818)
评论(0)
推荐(0)
编辑
[APUE]UNIX进程的环境(下)
摘要:一、共享库 共享库使得可执行文件中不再需要包含常用的库函数,而只需在所有进程都可存取的存储区中保存这种库例程的一个副本。程序第一次执行的时候或第一次调用某个库函数的时候,用动态链接方法将程序与共享库函数相链接,这减少了每个可执行文件的长度,但增加了一些运行时间开销。另一个优点就是可以用库函数的新版本
阅读全文
posted @
2017-01-04 21:17
orlion
阅读(784)
评论(1)
推荐(1)
编辑
[APUE]UNIX进程的环境(上)
摘要:一、 前言 本章将学习:当执行程序时,其main函数是如何被调用的,命令行参数是如何传送给执行程序的,典型的存储器布局是什么样式,如何分配另外的存储空间,进程如何使用环境变量,进程终止的不同方式等。另外还将说明longjmp和setjmp函数以及它们与栈的交互作用。 二、 main函数 C程序的入口
阅读全文
posted @
2017-01-02 17:21
orlion
阅读(361)
评论(0)
推荐(0)
编辑
[APUE]系统数据文件与信息
摘要:一、口令文件 UNIX口令文件包含下表中的各个字段,这些字段包含在头文件中定义的passwd结构体中。 由于历史原因,口令文件是/bin/passwd,而且是一个文本文件,每一行都包括了上表中的七个字段,字段之间用":"分隔,例如一个文件中可能有以下三行: 对于这些登陆项需要注意以下几点: 加密口令
阅读全文
posted @
2017-01-01 20:03
orlion
阅读(420)
评论(0)
推荐(0)
编辑
[APUE]标准IO库(下)
摘要:一、标准IO的效率 对比以下四个程序的用户CPU、系统CPU与时钟时间对比 程序1:系统IO 程序2:标准IO getc版本 程序3:标准IO fgets版本 结果: 【注:该表截取自APUE,上表中"表3-1中的最佳时间即《程序1》","表3-1中的单字节时间指的是《程序1》中BUFSIZE为1时
阅读全文
posted @
2016-12-31 15:09
orlion
阅读(524)
评论(0)
推荐(0)
编辑
[APUE]标准IO库(上)
摘要:一、流和FILE对象 系统IO都是针对文件描述符,当打开一个文件时,即返回一个文件描述符,然后用该文件描述符来进行下面的操作,而对于标准IO库,它们的操作则是围绕流(stream)进行的。 当打开一个流时,标准IO函数fopen返回一个指向FILE对象的指针。该对象通常是一个结构,它包含了IO库为管
阅读全文
posted @
2016-12-29 21:27
orlion
阅读(486)
评论(0)
推荐(0)
编辑
[APUE]文件和目录(下)
摘要:一、mkdir和rmdir函数 mkdir函数创建一个空目录,.和..目录是自动创建的。所指定的文件存取许可权mode由进程的文件方式创建屏蔽字修改(命令行执行umask可查看) 常见的错误是指定与文件相同的mode(只指定读,写许可权)。但是对于目录来说必须设置一个执行许可权位,以允许存取该目录中
阅读全文
posted @
2016-12-25 15:58
orlion
阅读(268)
评论(0)
推荐(1)
编辑
[APUE]文件和目录(中)
摘要:一、link、unlink、remove和rename 该函数创建一个新目录项newpath,指向现存文件existingpath,如果newpath已存在则返回出错。 此函数删除目录项,并将pathname引用的文件的连接计数-1。 只有当连接计数达到0时该文件的内容才能被删除,如果有进程打开了该
阅读全文
posted @
2016-12-24 22:21
orlion
阅读(357)
评论(0)
推荐(0)
编辑
[APUE]文件和目录(上)
摘要:一、文件权限 1. 各种ID 我在读这一章时遇到了各种ID,根据名字完全不清楚什么意思,幸好看到了这篇文章,http://blog.csdn.net/ccjjnn19890720/article/details/6990656,总结一下 每一个进程其实对应了6个以上的ID,它们分别是:实际用户ID、
阅读全文
posted @
2016-12-23 22:20
orlion
阅读(565)
评论(0)
推荐(0)
编辑
Linux epoll
摘要:一、 epoll函数集 epoll主要有三个函数: 1. int epoll_create(int size); 创建一个epoll的句柄,size用来告诉内核这个监听的数目一共有多大。这个参数不同于select()中的第一个参数,给出最大监听的fd+1的值。需要注意的是,当创建好epoll句柄后,
阅读全文
posted @
2016-12-14 21:59
orlion
阅读(372)
评论(0)
推荐(0)
编辑
linux poll函数
摘要:poll函数与select函数差不多 函数原型: struct pollfd的结构如下: 每个pollfd结构体指定了一个被监视的文件描述符。第一个参数是一个数组,即poll函数可以监视多个文件描述符。每个结构体的events是监视该文件描述符的事件掩码,由用户来设置。revents是文件描述符的操
阅读全文
posted @
2016-12-08 20:14
orlion
阅读(15011)
评论(0)
推荐(1)
编辑
利用select实现IO多路复用TCP服务端
摘要:一、相关函数 1. int select(int maxfdp, fd_set *readset, fd_set *writeset, fd_set *exceptset,struct timeval *timeout); int maxfdp: 该参数是指集合中所有文件描述符的范围, 即所有文件描
阅读全文
posted @
2016-11-30 21:38
orlion
阅读(5001)
评论(0)
推荐(0)
编辑
socket编程为什么需要htons(), ntohl(), ntohs(),htons() 函数
摘要:欢迎访问我的最新博客:https://blog.fanscore.cn 在C/C++写网络程序的时候,往往会遇到字节的网络顺序和主机顺序的问题。这是就可能用到htons(), ntohl(), ntohs(),htons()这4个函数。 网络字节顺序与本地字节顺序之间的转换函数: htonl()--
阅读全文
posted @
2016-11-26 14:55
orlion
阅读(34004)
评论(0)
推荐(2)
编辑
作业控制
摘要:Shell分前后台来控制的不是进程而是作业(Job)或者进程组(Process Group)。一个前台作业可以由多个进程组成,一个后台作业也可以由多个进程组成,Shell可以同时运行一个前台作业和任意多个后台作业,这称为作业控制(Job Control)。例如用以下命令启动5个进程: 其中proc1
阅读全文
posted @
2016-09-06 21:12
orlion
阅读(557)
评论(0)
推荐(0)
编辑
1
2
下一页
公告