今天研究了一下系统调用和标准库函数的区别和联系,从网上搜集的资料如下: 1.系统调用是为了方便应用使用操作系统的接口,而库函数是为了方便人们编写应用程序而引出的,比如你自己编写一个函数其实也可以说就是一个库函数。 2.系统调用可以理解为内核提供给我们在用户态用的接口函数,可以认为是某种内核的库函数。 ...
分类:
系统相关 时间:
2017-06-14 20:17:23
阅读次数:
308
上下文交换(context switch),又称环境切换,电脑术语,是一个储存和重建CPU的状态 (内文),因此令多个进程(process)可以分享单一CPU资源的计算过程。要交换CPU上的进程时,必需先行储存目前进程的状态,再将欲执行的进程之状态读回CPU中。 何时交换? 有三种可能的情况会发生上 ...
分类:
其他好文 时间:
2017-06-13 20:41:22
阅读次数:
203
一、协程 1.协程介绍 协程,又称微线程,纤程。英文名Coroutine。一句话说明什么是线程:协程是一种用户态的轻量级线程。 协程拥有自己的寄存器上下文和栈。协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器上下文和栈。因此: 协程能保留上一次调用时的状态(即所 ...
分类:
编程语言 时间:
2017-06-10 20:24:57
阅读次数:
263
【版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet。文章仅供学习交流,请勿用于商业用途】 一个进程的内存映象由以下几部分组成:代码段、数据段、BSS段和堆栈段。以及内存映射的区域等部分,内存映射函数mmap(), 负责把文件内容映射到进程的虚拟内存空间, 通过对这段内 ...
分类:
系统相关 时间:
2017-06-10 14:09:08
阅读次数:
325
如对Linux用户态驱动程序开发有兴趣,请阅读本文,否则请飘过。 User-Space Device Drivers in Linux: A First Look | 初识Linux用户态设备驱动程序 Linux设备驱动通常运行在内核空间,但是也可以运行在用户空间。本文将介绍运行在用户空间中的设备驱 ...
分类:
系统相关 时间:
2017-06-03 22:33:06
阅读次数:
469
翻译说明:这是一个日本人写的用户态下的函数tracer, 我们知道系统调用能够用strace, 库调用能够使用ltrace, 可是linux下居然没有一个比較有名的用户程序的tracer, 这真是比較奇怪。 这个工具好的地方就是用ptrace系统调用来实现。仅仅要跟踪的程序没有被strip,就能够使 ...
分类:
其他好文 时间:
2017-05-30 15:42:42
阅读次数:
378
目录 一、为何要学习计算机基础 2 二、计算机硬件介绍 3 2.1 处理器 4 2.1.1 寄存器的分类 4 2.1.2 寄存器的维护 5 2.1.3 处理器设计的演变 5 2.1.4 内核态与用户态 5 2.1.5 内核态与用户态切换 6 2.1.6 异常处理 6 2.1.7 多线程和多核芯片 6 ...
分类:
其他好文 时间:
2017-05-26 13:23:29
阅读次数:
237
【版权声明:尊重原创。转载请保留出处:blog.csdn.net/shallnet。文章仅供学习交流,请勿用于商业用途】 本系列通过源代码演示样例解说linux内核态与用户态数据通信的各种方式: 例说linux内核与应用数据通信(一):加入一个系统调用 例说linux内核与应用数据通信(二):pro ...
分类:
系统相关 时间:
2017-05-24 11:14:57
阅读次数:
194
http://blog.csdn.net/fatsandwich/article/details/2131707# http://jakielong.iteye.com/blog/771663 当一个任务(进程)执行系统调用而陷入内核代码中执行时,我们就称进程处于内核运行态(或简称为内核态)。此时处 ...
分类:
其他好文 时间:
2017-05-20 21:15:12
阅读次数:
218
在今年的 Build 2016 上,微软向全世界介绍了他们还处于 Beta 阶段的 Windows 下的 Linux 子系统Windows Subsystem for Linux(WSL),它可以让开发者们在 Windows 10 下通过 Bash shell 运行原生的 Ubuntu 用户态二进制 ...