Linux系统编程12
Linux系统编程Linux系统编程笔记(12)——网络
Ⅰ. 网络结构
1.数字用户线路DSL
2.混合光纤同轴电缆HFC
3.以太网
4.移动网络
Ⅱ. 查看IP
1.命令
...
Linux系统编程Linux系统编程笔记(11)——终端、作业、守护进程
Ⅰ. 终端
用户通过终端登录系统后得到一个Shell进程,这个终端成为Shell进程的控制终端(Controlling Terminal),fork会复制PCB中的信息,因此由Shell进程启
...
Linux系统编程Linux系统编程笔记(10)——文件锁
在多进程对同一个文件进行读写访问时,为了保证数据的完整性,有时需要对文件进行锁定。可以通过fcntl()函数对文件进行锁定和解锁。
对于写锁(F_ WRLCK独占锁),只有一个进程可以在文件的
...
Linux系统编程Linux系统编程笔记(9)——线程
Ⅰ. 线程的概念
有些情况需要在一个进程中同时执行多个控制流程,比如实现一个图形界面的下载软件,一方面需要和用户交互,等待和处理用户的鼠标键盘事件,另一方面又需要同时下载多个文件,等待和处理从
...
Linux系统编程Linux系统编程笔记(8)——信号
Ⅰ. 信号的基本概念
用户输入命令,在Shell下启动一个前台进程。用户按下Ctrl-C,这个键盘输入产生一个硬件中断。如果CPU当前正在执行这个进程的代码,则该进程的用户空间代码暂停执行,C
...
Linux系统编程Linux系统编程笔记(7)——进程体系与进程管理(2)
Ⅰ. wait和waitpid函数
一个进程在终止时会关闭所有文件描述符,释放在用户空间分配的内存,但它的PCB还保留着,内核在其中保存了一些信息:如果是正常终止则保存着退出状态,如果是异常终
...
Linux系统编程Linux系统编程笔记(6)——进程体系与进程管理(1)
Ⅰ. 进程控制块PCB
task struct结构体:
进程id。系统中每个进程有唯一的id,在C语言中用pid_t类型表示,其实就是一个非负整数。进程的状态,有运行、挂起、停止、僵尸等
...
Linux系统编程Linux系统编程笔记(5)——文件与I/O(4)
Ⅰ. ext2文件系统
文件系统中存储的最小单位是块(Block),一个块究竟多大是在格式化时确定的,例如 mke2fs 的-b 选项可以设定块大小为 1024、2048 或 4096
...
Linux系统编程Linux系统编程笔记(4)——文件与I/O(3)
Ⅰ. lseek/fcnt/ioctl/mmap 高级控制
lseek
每个打开的文件都记录着当前读写位置,打开文件时读写位置是0, 表示文件开头,通常读写多少个字节就会将读写位置往后移
...
Linux系统编程Linux系统编程笔记(3)——文件与I/O(2)
Ⅰ. open/close/read/write 打开/关闭/读/写
openopen函数可以打开或创建一个文件。
#include <sys/types.h>
#include
...