- 博客(10)
- 资源 (4)
- 收藏
- 关注
原创 10,信号
中断:停止当前执行的程序而去执行新的程序或处理意外的过程; 中断分为两大类:硬件中断,软件中断 信号的处理: 本质上就是一种软件中断,即可以作为两个进程间通信的一种机制; 更重要的是,信号总是可以终止一个程序的执行,他更多的被用与处理意外情况; 信号的特性: 1.信号是异步的,进程不知到什么时候知道信号回来; 2.进程即可以发送信号,也可以处理信号; 3.每
2016-10-18 09:43:20 392
原创 09,线程
目前主流的操作系统都支持多进程,而在每一个进程的内部又可以支持多线程; 也就是说线程隶属于进程,是进程内部的流程流; 进程是重量级的,新建进程对系统资源的消耗比较大; 而线程是轻量级的,线程会共享所有进程中的资源,但每个线程都有一块独立的栈区; #include int pthread_create(pthread_t *thread, const pthread_
2016-10-18 09:41:33 378
原创 08,网络
七层网络模型: 为了数据完整,安全地在网络中传递,ISO将数据的传递从逻辑上划分以下七层; 1.应用层:主要用于将数据交给应用程序 2.表示层:主要用于按照统一的格式进行数据封装等; 3.会话层:主要用于控制对话的建立,关闭等操作; 4.传输层:主要用于数据的检查和重新排序; 5.网络层:主要用于选择具体网络协议再次封装和发送等; 6.数据链路层:主要用于将数据转换成高低电平信号
2016-10-18 09:40:30 551
原创 07,文件锁
文件锁/建议锁的由来 当两个进程在同一时刻向同一个文件中写入数据时, 可能造成数据的交错和不一致问题; 当一个进程在向文件写入数据的同时, 另外一个进程读取文件中数据时也可能造成数据的不一致问题; 当两个进程同时读取同一个文件数据时,可以同时进行; 为了实现上述表格的效果,linux系统中引入文件锁的机制, 文件锁本质上就是读写锁,一把读锁和一把写锁, 其中读锁是一
2016-10-18 09:39:09 404
原创 06,进程
基本命令: ps:查看当前终端所启动的进程信息; ps -aux //ps -aux | more:查看所有进程详细信息,并分屏显示 ps -ef // ps -ef | more:以全格式的方式显示所有进程信息 kill -9 进程号:杀死指定的进程 目前主流的操作系统都支持多进程,如果进程A启动了进程B,那么进程A叫做进程B的父进程, 进程B叫做进程A的子进程; PI
2016-10-18 09:38:10 633
原创 0,5文件
#include void *mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offset); 第一个参数:建立映射的起始地址 第二个参赛:建立映射的长度 第三个参赛:映射的访问权限 PROT_EXEC 可执行 PROT_READ 可读 PROT_WRITE
2016-10-18 09:36:48 384
原创 04,内存管理
内存管理技术: 程序:存放在磁盘/硬盘上的可执行文件 进程:运行在内存中的程序,叫做进程;同一个程序可以对应多个进程 进程映像:进程在内存中的布局 进程中的内存区域划分 int num; int main(){ int num; return 0; } 代码区:(Text) 主要用于存放具体的功能代码,函数指针指向该区域;如可执
2016-10-18 09:35:52 972
原创 03,库文件
***环境变量 一般指在操作系统中用来指定操作系统运行环境的一些参数, 也就是用于存放和系统/软件环境相关信息的特殊变量 path/PATH:本质是一种环境变量,用于存放应用程序的路径信息; 当应用程序的路径存放到该变量之后,就可以直接通过该程序的名称来启动; 而不在需要路径信息 linux系统中的配置方法: 打开终端,执行一下命令:export PATH= $P
2016-10-18 09:30:27 616
原创 02,预处理指令
1.常用的预处理指令 #include ... 包含头文件 #define ... 进行宏定义 #undef ... 取消宏定义 #ifndef ... 如果没有定义 #ifdef ... 如果定义 #elif ... 否则如果 #else ... 否则 #endif ...
2016-10-18 08:55:46 291
原创 01,多文件编程
1.Unix和linux系统的简介 1.1 Unix系统的简介 在1969年左右,编写操作系统使用的是汇编语言,无论是编写还是维护都非常不方便,贝尔实验室中的肯-汤普逊在很多语言的基础上研发了B语言,后来贝尔实验室中的丹尼斯-里奇在B语言的基础上做了修改和扩展,改名为New B语言,后来改名为C语言; C语言诞生于1972年,至今在编程语言排行榜上依然占据重要地位; U
2016-10-18 08:51:13 556
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人