系统调用过程分析 1.执行int 0x80指令后系统从用户态进入内核态,跳到system_call()函数处执行相应服务进程。在此过程中内核先保存中断环境,然后执行系统调用函数。 2.system_call()函数通过系统调用号查找系统调用表sys_cal_table来查找具体系统调用服务进程。 s ...
分类:
其他好文 时间:
2019-12-19 19:21:33
阅读次数:
72
一、实验环境准备 uname -a 在本机编译linux 5.0.1 X86-64内核,重新按照64位方式编译,步骤同上一篇博客。 make x86_64_defconfig make menuconfig make #编译内核 二、Socket与系统调用 1.socket Socket API编程 ...
分类:
其他好文 时间:
2019-12-19 19:04:42
阅读次数:
80
一、linux系统调用原理 操作系统通过系统调用为运行于其上的进程提供服务。 当用户态进程发起一个系统调用, CPU 将切换到 内核态 并开始执行一个 内核函数 。 内核函数负责响应应用程序的要求,例如操作文件、进行网络通讯或者申请内存资源等。 二、调用流程 那么,在应用程序内,调用一个系统调用的流 ...
分类:
其他好文 时间:
2019-12-19 19:03:21
阅读次数:
86
一、什么是系统调用 系统态和用户态 在计算机系统中,通常运行着两类程序:系统程序和应用程序,为了保证系统程序不被应用程序有意或无意地破坏,为计算机设置了两种状态: 系统态(也称为管态或核心态),操作系统在系统态运行 用户态(也称为目态),应用程序只能在用户态运行。在实际运行过程中,处理机会在系统态和 ...
分类:
其他好文 时间:
2019-12-19 18:53:01
阅读次数:
91
1、 什么是系统调用 操作系统通过系统调用为运行于其上的进程提供服务。当用户态进程发起一个系统调用, CPU 将切换到 内核态 并开始执行一个 内核函数 。 内核函数负责响应应用程序的要求,例如操作文件、进行网络通讯或者申请内存资源等。在Linux中系统调用是有Linux内核提供的各种功能服务,为了 ...
分类:
其他好文 时间:
2019-12-19 15:53:11
阅读次数:
88
前戏 我们知道计算机主要分为三部分,硬件,操作系统和应用程序,然后硬件的头脑cpu才是控制内核态和用户态的大佬 操作系统 操作系统是直接和硬件打交道的,操作系统在内核态下运行,从而可以访问整个硬件 应用程序 应用程序直接和用户交互,但是应用程序不能直接操作硬件,应用程序在用户态下运行,但是有时候应用 ...
分类:
其他好文 时间:
2019-12-19 00:02:05
阅读次数:
106
1.Socket与系统调用——概述 Socket API编程接口之上可以编写基于不同网络协议的应用程序; Socket接口在用户态通过系统调用机制进入内核; 内核中将系统调用作为一个特殊的中断来处理,以socket相关系统调用为例进行分析; socket相关系统调用的内核处理函数内部通过“多态机制” ...
分类:
系统相关 时间:
2019-12-18 23:52:14
阅读次数:
149
1、系统调用过程 1.1用户态和内核态以及系统调用机制 1、进程的地址空间 linux进程有4GB地址空间,如图所示: 3G-4G大部分是共享的,是内核态的地址空间。这里存放整个内核的代码和所有的内核模块以及内核所维护的数据。 2、特权级别 对于任何操作系统来说,创建一个进程是核心功能。创建进程要做 ...
分类:
其他好文 时间:
2019-12-18 21:43:48
阅读次数:
86
使用线程更好的提高资源利用率,但也会带来上下文切换的消耗,频繁的内核态和用户态的切换消耗,如果代码设计不好,可能弊大于利。 一、线程 进程是分配资源的最小单位,线程是程序执行的最小单位;线程是依附于进程的,一个进程可以生成多个线程,这些线程拥有共享的进程资源; 二、线程生命周期(相关API)1、5个 ...
分类:
编程语言 时间:
2019-12-16 13:27:45
阅读次数:
112
游戏服务器之多进程架构通信 https://gameinstitute.qq.com/community/detail/124098 https://www.zhihu.com/question/23508968 游戏服务器与普通服务器有什么区别? 游戏开发中的TCP、UDP、HTTP、WebSoc ...
分类:
系统相关 时间:
2019-12-14 11:46:02
阅读次数:
132