系统编程
文章平均质量分 85
ASAP_Diablo
这个作者很懒,什么都没留下…
展开
-
APUE第一章 Unix基础知识
Xcode下导入apue.h下载apue.3e包,在apue.3e/include下找到apue.h。把apue.3e放到自定义文件夹,这里是/Users/hupac/Public/Lib/ 在Xcode中找到项目,修改项目的Build Settings,添加Header Search Paths为/Users/hupac/Public/Lib/apue.3e/include/。添加Lib原创 2017-07-12 10:18:28 · 457 阅读 · 0 评论 -
APUE第十章 信号
引入同步:一个进程在执行某个请求的时候,若该请求需要一段时间才能返回信息,那么这个进程将会一直等待下去,直到搜到返回信息才继续执行。 异步:一个进程在执行某个请求的时候,不需要一直等下去,而是继续执行之后的操作,有消息返回时系统会通知进程进行处理。同步和异步关注的是进程之间的消息通信机制,区别阻塞和非阻塞关注进程等待调用结果时的状态。信号(signal)是软件中断。信号的作用:由发出进程告诉接收原创 2017-08-17 17:18:25 · 434 阅读 · 0 评论 -
APUE第七章 进程环境
引言当程序执行时,其main函数是如何被调用的–内核调用启动例程执行exec函数再执行main函数内容。命令行参数是如何传递给新程序的–调用exec的进程可将命令行参数传递给该新程序典型的存储空间布局是什么样式如何分配另外的存储空间进程如何使用环境变量进程的各种不同终止方式longjmp和setjmp以及它们与栈的交互作用查看进程的资源限制main函数int ma原创 2017-08-10 16:10:03 · 390 阅读 · 0 评论 -
APUE第九章 进程关系
终端登录(串行终端登录BSD终端登录系统自举时,内核创建PID为1的init进程,init进程使系统进入多用户模式。每当有终端连接请求时,init进程则fork一个子进程,子进程调用exec函数执行getty程序。 getty程序:用来开启终端、进行终端的初始化和设置终端Created with Raphaël 2.1.0系统自举,创建init进程终端请求,init进程fork子进程每个子进程原创 2017-08-17 09:25:31 · 467 阅读 · 0 评论 -
伪终端设备之我见
转自:http://bbs.chinaunix.net/thread-2084721-1-1.htmlLinux上许多网络服务应用,如l2tp、pptp、telnet,都用到了伪终端。有朋友在问这方面的概念,把偶知道的写下来,以供讨论。一、终端 要理解伪终端(Pseudo Terminal),先来看看什么是“终端”(Terminal)。终端是一种字符型设备,它有多种类型,通常使用tty来简称各种类转载 2017-08-16 17:38:25 · 513 阅读 · 0 评论 -
APUE第八章 进程控制
进程标识每个进程都有一个非负整型标识的唯一进程ID(PID)。 虽然是唯一的,但是可以复用:当一个进程终止后,其PID就称为复用的候选者。 典型的进程:0进程,又称为swapper,是调度进程(内核进程)。 1进程,又称为init进程,在自举过程结束时由内核调用(用户进程,但是以超级用户特权运行)。孤儿进程的父进程就是init进程。#include pid_t getpid(原创 2017-08-14 16:51:39 · 389 阅读 · 0 评论 -
APUE第四章 文件和目录
函数stat、fstat、fstatat和lstat函数stat#include<sys/stat.h>int stat(const char *restrict pathname, struct stat *restrict buf);//stat函数以文件的路径名pathname为参数,返回与此命名文件相关的信息结构。示例:获取利用stat获取文件的修改时间、创建时间等信息struct t原创 2017-07-13 11:37:37 · 486 阅读 · 0 评论 -
APUE第三章 文件I/O
函数open和openat调用open或openat函数可以打开或创建一个文件。#includeint open(const char *path, int flag, .../mode_t);int openat(int fd, const char *path, int flag, .../mode_t);//int fd = open("/Users/hupac/Public/原创 2017-07-12 17:08:56 · 422 阅读 · 0 评论 -
APUE第二章 Unix标准及实现
Unix标准化ISO CISO定义C语言的标准,提供C程序的可移植性,使其能适应于除UNIX以外的操作系统。此标准不仅定义了C语言的语法和语义,还定义了其标准库,也就是该标准定义了24个C语言的头文件,例如stdio.h, math.h, stdlib.h都包含在这24个头文件中。IEEE POSIXPOSIX(Portable Operating System Interface)指的是可移植操作原创 2017-07-12 10:40:12 · 403 阅读 · 0 评论 -
Linux内核编译-4.4版本及添加系统调用
本次实验主要工作是添加一个系统调用并使用,在此过程中需要编译内核。内核下载实验用到的内核版本为4.4: linux-4.4.4.tar.xz xz文件是对tar文件的再次压缩,先用xz命令解压后再用tar命令解压xz -d linux-4.4.4.tar.xztar -xvf linux-4.4.4.tar进入文件根目录,先make一遍,这里并不会对内核进行全部编译,只是预...原创 2018-05-22 19:18:40 · 2033 阅读 · 0 评论