From 57f849b1a31c92d52898245f65c5ed38b325823c Mon Sep 17 00:00:00 2001 From: ld_4215105 <4215105@qq.com> Date: Fri, 11 Sep 2020 11:27:10 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0files/=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E6=80=81=E4=B8=8E=E5=86=85=E6=A0=B8=E6=80=81.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...16\345\206\205\346\240\270\346\200\201.md" | 140 ++++++++++++++++++ 1 file changed, 140 insertions(+) create mode 100644 "files/\347\224\250\346\210\267\346\200\201\344\270\216\345\206\205\346\240\270\346\200\201.md" diff --git "a/files/\347\224\250\346\210\267\346\200\201\344\270\216\345\206\205\346\240\270\346\200\201.md" "b/files/\347\224\250\346\210\267\346\200\201\344\270\216\345\206\205\346\240\270\346\200\201.md" new file mode 100644 index 0000000..a2476fa --- /dev/null +++ "b/files/\347\224\250\346\210\267\346\200\201\344\270\216\345\206\205\346\240\270\346\200\201.md" @@ -0,0 +1,140 @@ + +
应用程序
:获取了一张来自摄像头的自拍照片
+2. `操作系统`:叫内核拍了一张照片给应用程序
+3. `内核`:我从摄像头拿取了一张图片
+4. `摄像头`:我捕捉了一张图给内核
+
+
++    在操作系统中的一个图片处理程序向操作系统提交了一个拍照 的请求。操作系统收到命令后做了各种判断,确定这个程序是有拍照的许可。随后向内核提出申请。内核收到申请后,进行摄像头的各种判断,确认摄像头可以进行拍摄过后,向摄像头发出指令。此时内核捕获摄像头上的瞬间数据,进行判断,确认拍照成功。逐层进行图片优化后,提交到用户程序进行P图处理。 + + +#### 2.用户态与内核态切换 + + +
+     程序的运行均是以CPU来执行的一系列指令。当应用程序和操作系统工作时,本质是CPU在运行这两种程序的代码,此时CPU运行的状态即为用户态
。当应用程序需要访问计算机内的物理资源,比如打印机、摄像头、磁盘等时,需要经过内核,此时CPU从运行用户态指令转而运行内核程序的指令。这个转换动作我们称之为用户态与内核态切换
。
+
+ CPU从用户态转向内核态需要一个触发条件,而这个条件包含如下类: +
+ + +1. 系统调用:操作系统、shell、库函数等触发 +2. 异常事件:如缺页异常等触发 +3. 中断:如网卡有可读数据时触发的中断 + + +>
+> 设备引起的中断称为硬中断
+> 系统调用的本质也为中断,称之为软中断
+>