linux 进程io占用排序(linux 进程io)-编程之家

IO进程工作在内核态吗?

当IO进程运行在内核空间时,它就处于内核态;

当IO进程运行在用户空间时,它就处于用户态。

当我们需要进行IO操作时,如读写硬盘文件、读写网卡数据等,进程需要切换到内核态,否则无法进行这样的操作,无论是从内核态切换到用户态,还是从用户态切换到内核态,都需要进行一次上下文的切换。一般情况下,应用不能直接操作内核空间的数据,需要把内核态的数据拷贝到用户空间才能操作。

嵌入式Linux开发中的文件I/O是什么?

  嵌入式linux开发中的文件I/O就是对外设进行文件抽象,也就是认为一切外部设备都是文件,所有对外设的访问都通过文件方式。多任务就是用一个CPU执行多个任务,这个任务叫做进程或线程。  I/O输入/输出(Input/Output),分为IO设备和IO接口两个部分。  在POSIX兼容的系统上,例如Linux系统,I/O操作可以有多种方式,比如DIO(Direct I/O),AIO(Asynchronous I/O 异步I/O),Memory-Mapped I/O(内存映设I/O)等,不同的I/O方式有不同的方式和性能,在不同的应用中可以按情况选择不同的I/O方式。  输入输出I/O流可以看成对字节或者包装后的字节的读取就是拿出来放进去双路切换;实现联动控制系统的弱电线路与被控设备的强电线路之间的转接、隔离,以防止强电窜入系统,保障系统的安全;

io操作是进程还是线程?

io操作是进程不是线程,其原只是IO本身就是程序。根据定义就可判定其操作是进程。线程与进程的区别是:

1.线程

程序中单独顺序的控制流。线程本身依靠程序运行,线程是程序中的顺序控制流,只能使用分配给程序的资源和环境。

2.进程

执行中的程序。一个进程可以包含一个或多个线程,但至少一个。

io包括什么?

io不包括什么,也没有这个说法

什么是IO

1 直观理解

IO是Input、Output的简称,即输入输出。鼠标键盘是向计算机输入信息,显示器是输出设备,接收计算机的输出并显示。

2 从计算机的组织架构理解

计算机的核心(CPU和内存),与其它设备之间数据转移的过程就是IO。比如数据从磁盘读入到内存,或内存的数据写回到磁盘,都是IO操作。在计算机的世界里,这就是IO的本质。

3 从编程的角度理解

应用程序的IO操作有两种:IO调用和IO执行。IO调用是进程发起的,IO执行是操作系统的工作,因此,这里说的IO是应用程序对操作系统IO功能的触发。

因此,应用程序里IO调用的目的是将进程的内部数据输出到外部,或将外部数据输入到进程内部。这里的外部指的是非进程空间数据。

举例,一个进程的IO输入操作流程如下:

a)进程向操作系统请求外部数据

b)操作系统将数据从外部磁盘拷贝到内存缓冲区

c)操作系统将数据从内存缓冲区拷贝到进程缓冲区

d)进程读取数据进行操作