摘要:
9.1 终端登录 这里终端是本地的或者是远程的。登录unix系统都经由内核中的终端设备驱动程序。 BSD系统的过程:init读取文件/etc/ttys,对每一个允许登录的终端设备调用一次fork,它所生成的子进程则exec getty程序。getty打开终端设备,exec login程序。至此,登录 阅读全文
posted @ 2021-06-17 01:52
fainli
阅读(4)
评论(0)
推荐(0)
摘要:
8.1 进程标识 每个进程都有一个非负整型表示的唯一进程ID。进程ID是可重用的。 ID为0的进程通常是调度进程,常常被称为交换进程(swapper)。 该进程是内核的一部分,它并不执行任何磁盘上的程序。 ID为1通常是init进程,在自举过程结束时由内核调用。 #include <stdio.h> 阅读全文
posted @ 2021-06-17 01:46
fainli
阅读(13)
评论(0)
推荐(0)
摘要:
7.1 main函数 c程序总是从main函数开始执行。在调用main前先调用一个特殊的启动例程,从内核取得命令行参数和环境变量值。 7.2 进程终止 正常终止 (1) 从main返回; (2) 调用exit; (3) 调用_exit或_Exit; (4) 最后一个线程从其启动例程返回 (5) 从最 阅读全文
posted @ 2021-06-17 00:58
fainli
阅读(10)
评论(0)
推荐(0)
摘要:
5.1 流和FILE 所有I/O函数都是围绕文件描述符的。 当打开一个文件时返回一个文件描述符,该文件描述符就用于后续的I/O操作。 标准I/O库的操作是围绕流(stream) 进行的。 标准I/O文件流可用于单字节或多字节(“宽” )字符集。 流的定向决定了所读、写的字符是单字节还是多字节的。fw 阅读全文
posted @ 2021-06-17 00:43
fainli
阅读(5)
评论(0)
推荐(0)
摘要:
4.1 stat stat/lstat函数返回文件的信息结构体stat。st_mode中包含了文件的格式信息。 例子 判断文件或目录类型 #include "apue.h" int main(int argc, char *argv[]) { int i; struct stat s; char * 阅读全文
posted @ 2021-06-17 00:18
fainli
阅读(12)
评论(0)
推荐(0)
摘要:
3.1 文件描述符 对于内核而言,所有打开的文件都通过文件描述符引用。文件描述符是一个非负整数。 例子: 0表示stdin, 1表示stdout, 2表示stderr. 文件描述符的变化范围是0~OPEN_MAX-1,早期允许每个进程打开19个文件。对很多系统来说,文件描述符范围是无限的。 3.2 阅读全文
posted @ 2021-06-17 00:16
fainli
阅读(13)
评论(0)
推荐(0)
浙公网安备 33010602011771号