Linux 进程间通信

我们知道,进程是一个程序的一次执行,是系统资源分配的最小单元。这里所说的进程一般是指运行在用户态的进程,而由于处于用户态的不同进程间是彼此隔离的,但是它们很可能需要相互发送一些信息,好让对方知道自己的进度等情况,像这样进程间传递信息就叫进程间通信。 源码地址:https://github.com/jitwxs/blog_sample 一、什么是进程间通信1.1 进程间通信的作用(1)数据传输一...

Linux PAM 验证

一、什么是PAM验证Linux-PAM(linux可插入认证模块)是一套共享库,使本地系统管理员可以随意选择程序的认证方式。换句话说,不用重新编译一个包含PAM功能的应用程序,就可以改变它使用的认证机制。应用程序只需调用API就可方便的使用PAM提供的各种认证功能,而无需了解底层的实现。这种方式下,就算升级本地认证机制,也不用修改程序。 像我们使用su命令时,系统会提示你输入root用户的密码,这...

Linux IO 模型

一、概念1.1 IO 模型的分类Linux 下的 IO 模型一般包括以下五种模型:阻塞IO、非阻塞IO、IO多路复用、信号驱动IO 和 异步IO。 源码地址:https://github.com/jitwxs/blog_sample 1.2 输入操作对于文件的输入操作,包括下面两步: 等待数据准备好 将数据从内核复制到用户空间 对于套接字(socket)的输入操作,包括下面两步: ...

LTP 第六章 开发 IO 阻塞测试集

在本章中,我们将编写以下几个测试: Convert pselect02 Convert epoll_wait03 Convert epoll_pwait01 Convert mmap04 Convert mmap05 Convert mmap06 Add select05 源码地址:https://github.com/jitwxs/blog_sample 6.1 Convert psel...

Linux Socket 编程

前言 进程通信的概念最初来源于单机系统,由于每个进程都在自己的地址范围内运行,为保证两个相互通信的进程之间既互不干扰又协调一致工作,操作系统为进程通信提供了相应设施,如:管道(pipe)、消息(message)、共享存储区(shared memory)和信号量(semaphore)等。 但是这都仅限于用在本机进程之间通信。网络间进程通信要解决的是不同主机进程间的相互通信问题为此,引入了套接字。 ...

LTP 第五章 开发 IO 操作测试集

在本章中,我们将编写以下几个测试: Convert read03 Convert read04 Convert close02 Convert close08 Convert open04 源码地址:https://github.com/jitwxs/blog_sample 5.1 Convert read035.1.1 重写代码12wxs@ubuntu:~/ltp/testcases/k...

Linux Ext 文件系统

一、Ext2文件系统1.1 概述文件系统中存储的最小单位是块(Block),一个块究竟多大是在格式化时确定的,使用 tune2fs 命令可以查看块大小。 注:我这里演示使用的是ext3,但是没有影响。 1234567[root@VM_120_243_centos 1]# cat /etc/fstab /dev/vda1 / ext3 ...

Linux 实现数据库的定时备份

在项目中,数据往往是十分重要的,这就要求我们对数据库进行实时备份。幸运的是,Linux 支持这样的功能。本文将讲述如何定时实现数据库的备份。 一、创建备份文件夹我们以备份到 /home 路径下为例,创建 backup 文件夹: 1234[root@iZuf643t8c5urcnhm494emZ ~]# cd /home[root@iZuf643t8c5urcnhm494emZ home]# mkd...

LTP 第四章 开发_exit()测试集

本章我们将结合前三章所学知识,开发一个完整的新规测试用例,在开始项目之前,请保证项目源码包的干净。 123456[wxs@bogon ltp]$ git branch master* mybranch[wxs@bogon ltp]$ git status# 位于分支 mybranch无文件要提交,干净的工作区 本章以编写 _exit() 函数为例,首先我们查看 _exit() 函数的 man-p...

Linux 静态库和动态库

在 Windows 平台和 Linux 平台下都大量存在着库。本质上来说库是一种可执行的二进制代码(但不可以独立执行),可以被操作系统载入内存执行。 Linux下的库有两种:静态库和动态库(共享库)。本文将介绍 Linux 下静态库和动态库的概念以及相应的创建与使用方法。 一、对比 类型 特点 静态库 在编译时被链接到程序中,作为可执行程序的一部分。在程序运行时不再依赖静态库,占用内存...

LTP 第三章 开发系统调用测试集

在第二章中我们写了 Shell 测试集,在本章,我们将开发基于 C 的系统调用测试集,使用新 API 重写既有的测试 case ,整个流程与上一章基本相同,不再赘述。 在本章中,我们将编写以下几个测试: Convert getpagesize01 Convert getpid01 Convert unlink05 Convert getppid02 在开始之前,保证工作区的干净: 123[wx...

LTP 第二章 开发 Shell 测试集

2.1 准备环境2.1.1 清理环境在第一章中我们使用了git clone将项目克隆到了本地,并且编写了一个简单的c测试和Shell测试。 在本章开始之前,我们要保证源码包项目的干净,即恢复到最开始克隆时的状态,具体步骤参考相关《Git 教程》。 Tip: 如果你觉的恢复干净对你有困难的话,最简单粗暴的方法就是删掉重新克隆了… 注: 清除前一定要注意数据备份,清除后第一章做的修改就不复存在了.. ...
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×