随笔分类 -  系统编程入门

摘要:知识点:三个多路并发模型(select 、poll 、epoll) 题目:以epoll模型,编写一个可供多个客户端访问的服务器程序。 实现代码: 题目:以select模型,编写一个可供多个客户端访问的服务器程序。 实现代码: 小结:epoll模型的优点在于:①对于客户端的数量没有限制;②内核主动将“ 阅读全文
posted @ 2018-03-15 19:35 GGBeng 阅读(210) 评论(0) 推荐(0) 编辑
摘要:题目:编写一个TCP通信的程序。 实现代码: 题目:编写一个UDP通信的程序。 实现代码: 题目:编写一个抓包程序,要求抓取封装TCP报文段的包,并打印出包的头部信息。 实现代码: 阅读全文
posted @ 2018-03-14 11:03 GGBeng 阅读(191) 评论(0) 推荐(0) 编辑
摘要:题目:创建一个线程,并理清主线程结束时会发生什么。 代码: 题目:创建一个线程,并使用join函数等待线程结束。 完成代码: 题目:使用join函数完成传值功能。 完成代码: 阅读全文
posted @ 2018-03-13 14:08 GGBeng 阅读(141) 评论(0) 推荐(0) 编辑
摘要:题目:创建一个64K的共享内存。 实现代码: 题目:分别完成一个向共享内存读/写的程序,要求这两个程序指向同一共享内存。 实现代码: 题目:完成一个读取系统当前共享内存区使用情况的程序,要求使用shmctl函数完成。 实现代码: 阅读全文
posted @ 2018-03-12 16:17 GGBeng 阅读(198) 评论(0) 推荐(0) 编辑
摘要:题目:创建一个包含5个信号量的信号集。 完成代码: 题目:编写一个程序,要求:实现信号量的P、V、Z操作。 完成代码: 题目: 阅读全文
posted @ 2018-03-11 17:01 GGBeng 阅读(179) 评论(0) 推荐(0) 编辑
摘要:题目:key及ftok函数的作用。 解答: key是用来创建消息队列的一个参数,当两个key相同时,创建消息队列会引起“误会”(除非有意为之)。所以我们可以通过ftok函数来获得一个“不易重复”的key。 key对于进程间通信也有帮助,当一进程知晓另一进程创建消息队列所用的key后,便可以使用该ke 阅读全文
posted @ 2018-03-10 21:39 GGBeng 阅读(204) 评论(0) 推荐(0) 编辑
摘要:题目:建立双向管道,实现:父进程向子进程传送一个字符串,子进程对该字符串进行处理(小写字母转为大写字母)后再传回父进程。 实现代码: 题目:基于管道,并借助于dup2、exec函数族,实现命令“ps -ef | grep pipe”。 实现代码: 题目:使用popen函数实现命令“ps -ef | 阅读全文
posted @ 2018-03-09 12:37 GGBeng 阅读(184) 评论(0) 推荐(0) 编辑
摘要:题目一:编写一个获取当前时间的程序,并将其以“year-mon-day time”的形式输出。 程序代码: 题目二:使用signal函数,编写一个处理信号的程序。 程序代码: 题目三:使用sigaction函数,编写一个处理信号的程序。 程序代码: 题目四:使用alarm函数编写一个定时器程序。 程 阅读全文
posted @ 2018-03-08 08:33 GGBeng 阅读(199) 评论(0) 推荐(0) 编辑
摘要:题目:请解释wait是如何同步父子进程的。 程序代码: 题目:编写一个守护进程,要求其一直打开记事本。 程序代码: 阅读全文
posted @ 2018-03-06 15:46 GGBeng 阅读(184) 评论(0) 推荐(0) 编辑
摘要:题目:请编写一个输入密码(不回显)的程序,要求通过设置终端来完成。 完成代码: 阅读全文
posted @ 2018-03-06 00:15 GGBeng 阅读(161) 评论(0) 推荐(0) 编辑
摘要:题目:区分文件I/O和标准I/O。 区别: ①首先两者一个显著的不同点在于,标准I/O默认采用了缓冲机制,比如调用fopen函数,不仅打开一个文件,而且建立了一个缓冲区(读写模式下将建立两个缓冲区),还创建了一个包含文件和缓冲区相关数据的数据结构。低级I/O一般没有采用缓冲,需要自己创建缓冲区,不过 阅读全文
posted @ 2018-03-04 23:41 GGBeng 阅读(199) 评论(0) 推荐(0) 编辑
摘要:题目:使用perror函数和strerror函数编写一个程序。 程序代码: 题目:编写带可变参数的WriteLog函数。 程序代码: 阅读全文
posted @ 2018-03-04 23:38 GGBeng 阅读(200) 评论(0) 推荐(0) 编辑
摘要:题目:列出gdb过程中常用的命令。 常用命令: 阅读全文
posted @ 2018-03-04 09:24 GGBeng 阅读(156) 评论(0) 推荐(0) 编辑
摘要:题目:编写一个makefile文件,要求编译当前目录内的所有.c文件。 完成代码: 测试情况: 其他答案: 阅读全文
posted @ 2018-03-03 21:28 GGBeng 阅读(125) 评论(0) 推荐(0) 编辑
摘要:2018-1-30 一、UNIX、C语言以及Linux的历史回顾 1. UNIX简史、C语言的诞生 1969年,贝尔实验室的Ken Thompson首次实现了UNIX系统。 1973年,C语言步入成熟期,人们以其重写了几乎整个UNIX内核。 2. UNIX两大分支:BSD、System V 1969 阅读全文
posted @ 2018-01-31 00:09 GGBeng 阅读(2565) 评论(0) 推荐(0) 编辑