系统调用

Linux高性能server编程——定时器

版权声明:本文为博主原创文章。未经博主允许不得转载。 https://blog.csdn.net/walkerkalr/article/details/36869913...

操作系统: 用户级线程和内核级线程

http://www.cnblogs.com/yxzfscg/p/4758728.html 三种线程——内核线程、轻量级进程、用户线程 内核线程 内核线程就是内核的分身,一个分身可以处理一件特定事情。这在处理异步事件如异步IO时特别有用。内核线程的使用是廉价的,唯一使用的资源就是内核栈和上下文切换时保存寄存器的空间。支持多线程的内核叫做多线程内核(Mult...

linux系统下信号具体解释2

信号是UNIX 系统所使用的进程通信方法中,最古老的一种。信号不但能从内核发往一个进程,也能从一个进程发往还有一个进程。比如,用户在后台启动了一个要运行较长时间的程序,假设想中断其运行,能够用kill 命令把SIGTERM信号发送给这个进程,SIGTERM 将终止此进程的运行。信号还提供了向UNIX 系统进程传送软中断的简单方法。信号能够中断一个进程,而...

信息安全期末复习

一、米特尼克的圣诞攻击 1、攻击背景 在Unix世界中,可以很容易地给予信任。 假设用户在机器A和机器B上都有一个帐户,为了使两者之间的麻烦最小,就可以在它们之间建立全双工的信任关系。 在A的主目录中,创建一个 .rhosts 文件:echo "hostB 用户名" > .rhosts,在B的主目录中做同样的操作,现在,用户可以使用任何 r* 命令来...

共享内存与存储映射(mmap)

【前言】对这两个理解还是不够深刻,写一篇博客来记录一下。 首先关于共享内存的链接:共享内存。里面包含了创建共享内存区域的函数,以及两个进程怎么挂载共享内存通信,分离、释放共享内存。 共享内存的好处就是效率高,不需要太多次的进行数据的copy。可以直接进行读写内存。所以,相对来说在IPC进程间通信三大主题里面,共享内存要比消息队列使用多,而且消息队列只在有血...

利用select/poll监听多个设备详解

如果一个应用程序去处理多个设备,例如应用程序读取网路数据,按键,串口,一般能想到的有三种方法: 方法1:串行+阻塞的方式读取:while(1) { read(标准输入);read(网络);}缺点:每当阻塞读取标准输入时,如果用户不进行标准输入的操作,而此时客户端给服务器发送数据,导致服务器无法读取客户端发送来的数据! 方法2:采用多线程或者多进程机制来实现...

玩转ptrace

下面是转帖的内容,写的很详细。但是不同的linux发行版中头文件的路径和名称并不相同。如在某些发行版中<linux/user.h>就不存在,其中定义的变量出现在<asm/ptrace-abi.h>和<sys/user.h>中。关于调试器技术的资料在网上是很少,即便是UNIX编程巨著《UNIX环境高级编程》中,相关内容也不...

go语言学习--内核态和用户态(协程)

go中的一个特点就是引入了相比于线程更加轻量级的协程(用户态的线程),那么什么是用户态和内核态呢? 一、什么是用户态和内核态 当一个任务(进程)执行系统调用而陷入内核代码中执行时,我们就称进程处于内核运行态(或简称为内核态)。此时处理器处于特权级最高的(0级)内核代码中执行。当进程处于内核态时,执行的内核代码会使用当前进程的内核栈。每个进程都有自己的内核栈...

内存文件映射

一直都对内存映射文件这个概念很模糊,不知道它和虚拟内存有什么区别,而且映射这个词也很让人迷茫,今天终于搞清楚了。。。下面,我先解释一下我对映射这个词的理解,再区分一下几个容易混淆的概念,之后,什么是内存映射就很明朗了。 原理首先,“映射”这个词,就和数学课上说的“一一映射”是一个意思,就是建立一种一一对应关系,在这里主要是只 硬盘上文件 的位置与进程 逻辑...

自己动手添加系统调用

Linux系统调用实验 【实验目的】 理解系统调用的概念,熟悉系统调用的用法。 【实验设备】 装有Linux操作系统的PC机一台。 【实验要求】 编程创建系统调用mycall(),实现功能是显示字符串到屏幕上。 编译2.4.18内核,用新内核引导系统。 编程调用自己创建的系统调用。 【实验原理】 操作系统是用户与计算机之间的接口,用户通过操作系统的帮助...