操作系统35

Linux系统编程

Linux系统编程笔记(12)——网络

Ⅰ. 网络结构 1.数字用户线路DSL 2.混合光纤同轴电缆HFC 3.以太网 4.移动网络 ...
Linux系统编程

Linux系统编程笔记(11)——终端、作业、守护进程

Ⅰ. 终端 用户通过终端登录系统后得到一个Shell进程,这个终端成为Shell进程的控制终端(Controlling Terminal),fork会复 ...
Linux系统编程

Linux系统编程笔记(10)——文件锁

在多进程对同一个文件进行读写访问时,为了保证数据的完整性,有时需要对文件进行锁定。可以通过fcntl()函数对文件进行锁定和解锁。 对于写锁(F_ WR ...
Linux系统编程

Linux系统编程笔记(9)——线程

Ⅰ. 线程的概念 有些情况需要在一个进程中同时执行多个控制流程,比如实现一个图形界面的下载软件,一方面需要和用户交互,等待和处理用户的鼠标键盘事件,另一 ...
Linux系统编程

Linux系统编程笔记(8)——信号

Ⅰ. 信号的基本概念 用户输入命令,在Shell下启动一个前台进程。用户按下Ctrl-C,这个键盘输入产生一个硬件中断。如果CPU当前正在执行这个进程的 ...
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 选项可以设定块 ...
Linux系统编程

Linux系统编程笔记(4)——文件与I/O(3)

Ⅰ. lseek/fcnt/ioctl/mmap 高级控制 lseek 每个打开的文件都记录着当前读写位置,打开文件时读写位置是0, 表示文件开头 ...
Linux系统编程

Linux系统编程笔记(3)——文件与I/O(2)

Ⅰ. open/close/read/write 打开/关闭/读/写 openopen函数可以打开或创建一个文件。 #include <sy ...