Linux | 五种IO模型说明之概念说明

Posted JoblabX未来职业实验室

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux | 五种IO模型说明之概念说明相关的知识,希望对你有一定的参考价值。

JoblabX科技人才俱乐部

欢迎留言,留言有奖!

概念说明:

用户空间与内核空间


进程切换

-------为了控制进程的执行,内核必须有能力挂起正在CPU上运行的进程,并恢复以前挂起的某个进程的执行。这种行为被称为进程切换。因此可以说,任何进程都是在操作系统内核的支持下运行的,是与内核紧密相关的。


-------从一个进程的运行转到另一个进程上运行,这个过程中经过下面这些变化:

保存处理机上下文,包括程序计数器和其他寄存器。

更新PCB信息。

把进程的PCB移入相应的队列,如就绪、在某事件阻塞等队列。 选择另一个进程执行,并更新其PCB。

更新内存管理的数据结构。

恢复处理机上下文。<./p>


进程的阻塞

-------正在执行的进程,由于期待的某些事件未发生,如请求系统资源失败、等待某种操作的完成、新数据尚未到达或无新工作做等,则由系统自动执行阻塞原语(Block),使自己由运行状态变为阻塞状态。可见,进程的阻塞是进程自身的一种主动行为,也因此只有处于运行态的进程(获得CPU),才可能将其转为阻塞状态。当进程进入阻塞状态,是不占用CPU资源的。


文件描述符

-------文件描述符(File descriptor)是计算机科学中的一个术语,是一个用于表述指向文件的引用的抽象化概念。


-------文件描述符在形式上是一个非负整数。实际上,它是一个索引值,指向内核为每一个进程所维护的该进程打开文件的记录表。当程序打开一个现有文件或者创建一个新文件时,内核向进程返回一个文件描述符。在程序设计中,一些涉及底层的程序编写往往会围绕着文件描述符展开。但是文件描述符这一概念往往只适用于UNIX、Linux这样的操作系统。


点击底部链接

申请加入JOBLABX科技人才俱乐部

以上是关于Linux | 五种IO模型说明之概念说明的主要内容,如果未能解决你的问题,请参考以下文章

聊聊Linux 五种IO模型

Linux五种IO模型(同步 阻塞概念)

(转载) Linux五种IO模型

透彻Linux(Unix)五种IO模型

linux同步与异步阻塞与非阻塞概念以及五种IO模型

Java之IO/NIO五种模型必须了解的基础概念