Linux系统调用 概念:系统调用为用户态进程提供了硬件的抽象接口。并且是用户空间访问内核的唯一手段,除异常和陷入外,它们是内核唯一的合法入口。保证系统的安全和稳定。 调用号:在Linux中,每个系统调用被赋予一个独一无二的系统调用号。当用户空间的进程执行一个系统调用时,会使用调用号指明系统调用。 ...
分类:
其他好文 时间:
2020-05-28 00:28:57
阅读次数:
55
总结一句话:系统调用的本质,通过sc指令触发异常,完成用户态到内核的转换。 展开一些:应用程序调用fork(),fork()是一个glibc函数,该函数的最底层调用sc指令,触发cpu异常,从而完成从用户态到内核态的切换, 内核:在异常处理中完成fork()的内核态处理,然后通过rfi指令返回到用户 ...
分类:
其他好文 时间:
2020-05-27 01:21:00
阅读次数:
91
线程模型分类: 用户级线程(User Level Thread,ULT) 用户程序实现,不依赖操作系统核心,应用提供创建、同步、调度和管理线程函数来控制用汉语线程。不需要用户态/内核态切换,速度快。内核对UTL无感知,线程阻塞则进程(包括它的所有线程)阻塞。 内核级线程(KLT) 系统内核管理线程, ...
分类:
编程语言 时间:
2020-05-25 16:00:07
阅读次数:
62
1.系统调用的概念 用户态与内核态: 32 位 Linux 进程地址空间: 系统调?概述: Linux的系统调?: 2.环境准备 编译选项: 编译内核并运行:由于还未挂载根文件系统,因此出现kernel panic。 制作根文件系统: 配置编译选项: 编写init脚本: 打包根文件系统镜像: fin ...
分类:
其他好文 时间:
2020-05-24 21:09:33
阅读次数:
78
进程 进程是系统分配资源和调度的基本单位, 每个CPU同一时刻只能处理一个进程。进程拥有程序代码段、打开的文件、数据资源、独立的内存空间。 进程的局限性是创建、撤销、切换的开销比较大。 线程 线程是程序执行的最小单位,线程从属于进程,是程序的实际执行者。一个进程至少包含一个主线程,也可以有更多的子线 ...
分类:
编程语言 时间:
2020-05-22 17:20:38
阅读次数:
61
用户态和内核态 cas compare and swapcompare and exchangeCAS(比较并交换)是CPU指令级的操作,只有一步原子操作,所以非常快。而且CAS避免了请求操作系统来裁定锁的问题,不用麻烦操作系统,直接在CPU内部就搞定了。 重量级锁(创建锁需要惊动操作系统————0 ...
分类:
其他好文 时间:
2020-05-18 00:53:16
阅读次数:
99
synchronized 锁定的是一个对象,执行某段代码的时候必须锁定一个对象,不锁定就无法执行 一、概念介绍 1.1 用户态与内核态 内核态(kener):内核/操作系统可以做的一些操作。 用户态(APP):用户的程序可以做的一些操作。 用户态的程序要访问一些比较危险的操作的时候,比如格式化硬盘或 ...
分类:
其他好文 时间:
2020-05-17 16:04:20
阅读次数:
86
作者:韦东山。(有删改) 韦东山:我是1999年上的大学,物理专业。在大一时,我们班里普遍弥漫着对未来的不安,不知道学习了物理后出去能做什么。你当下的经历、当下的学习,在未来的一天肯定会影响到你。毕业后我们也各自找到了自己的职业:出国深造转行做金融、留校任教做科研、设计芯片、写程序、创办公司等等,这 ...
分类:
系统相关 时间:
2020-05-09 18:57:27
阅读次数:
84
同步IO 进程A发起一个 IO中断,进入内核态,操作系统通知 进行IO操作 当 操作完成, 发起一个中断通知操作系统已经读取完成 用户态进程A,可以读取数据 异步IO 进程A发起一个 IO中断,可以设置 或者 函数,进入内核态,操作系统通知控制器进行IO 操作 当 操作完成, 发起一个中断通知操作系 ...
分类:
其他好文 时间:
2020-05-08 18:34:11
阅读次数:
59
date命令作用:可以用来显示或设定系统的日期与时间。 date命令详细用法:https://www.cnblogs.com/asxe/p/9317811.html time命令:常用于测量一个命令的运行时间。 它能做的不仅仅是测量运行时间,还可以测量内存、I/O等的使用情况。一个程序在运行时使用的 ...
分类:
系统相关 时间:
2020-05-05 23:44:12
阅读次数:
146