一、初步了解什么是I/O模型。1.回顾,用户态与内核态。操作系统位于应用程序和硬件之间,本质上是一个软件,它由内核以及系统调用组成。内核:用于运行于内核态,主要作用是管理硬件资源。系统调用:运行与用户态,为应用程序提供系统调用的接口。操作系统的核心,就是内核,内..
分类:
编程语言 时间:
2017-05-19 14:36:49
阅读次数:
138
编程语言的作用及与操作系统和硬件的关系 计算机硬件 CPU与寄存器,内核态与用户态的切换 CPU从内存中取指令,解码,执行。 中央处理器 (英语:Central Processing Unit,缩写:CPU),是计算机的主要设备之一,功能主要是解释计算机指令以及处理计算机软件中的数据。计算机的可编程 ...
分类:
其他好文 时间:
2017-05-18 20:10:52
阅读次数:
235
cpu:相当于计算机的大脑负责运算和发送命令; 寄存器:寄存器是cpu当中的一个有限存储部件,cpu从内存调用数据时,寄存器会将从内存调用的数据进行更新在寄存器中以一个字或变量进行存储。 寄存器总共分为四种: 1.通用寄存器:用来保存变量与临时结果 2.程序寄存器:保存了将要取下的一条指令的内存地址 ...
分类:
其他好文 时间:
2017-05-18 20:00:31
阅读次数:
250
现代计算机系统由一个或多个处理器、主存、磁盘、打印机、键盘、鼠标、显示器、网络接口以及 各种其他输入/输出设备组成 软件 与 操作系统 底层是硬件。硬件包括芯片、电路板、 磁盘、键盘、显示器以及类似的设备。在硬件的顶部是软件。 计算机运行模式:内核态和用户态。 核心模式和用户模式 (管态和目态) 核 ...
分类:
其他好文 时间:
2017-05-16 18:44:40
阅读次数:
194
Linux内核的信号量在概念和原理上和用户态的System V的IPC机制信号量是相同的,不过他绝不可能在内核之外使用,因此他和System V的IPC机制信号量毫不相干。 信号量在创建时需要设置一个初始值,表示同时能有几个任务能访问该信号量保护的共享资源,初始值为1就变成互斥锁(Mutex),即同 ...
分类:
系统相关 时间:
2017-05-16 18:38:18
阅读次数:
278
前言Linux中的信号是向进程异步发送的事件通知,通知进程有事件(硬件异常、程序执行异常、外部发出信号)发生。当信号产生时,内核向进程发送信号(在进程所在的进程表项的信号域设置对应于该信号的位)。内核处理一个进程收到的信号的时机是在一个进程从内核态返回用户态时,..
分类:
系统相关 时间:
2017-05-15 22:43:22
阅读次数:
368
轮子年年有人造,我们也来凑热闹,参考协程实现,大概有以下几种方法: 1)利用setjmp,longjmp 2)利用ucontext接口函数 3)汇编 (线程无非就是多了个抢占功能,由定时器触发,而非自愿让出运行权限) 因为我写的时候还没看到其他帖子,如果看到了,铁定会用最直观的ucontext接口写 ...
分类:
编程语言 时间:
2017-05-13 16:58:32
阅读次数:
254
IO Stevens在文章中一共比较了五种IO Model: blocking IO nonblocking IO IO multiplexing signal driven IO asynchronous IO blocking IO nonblocking IO IO multiplexing ...
分类:
其他好文 时间:
2017-05-11 19:47:23
阅读次数:
201
shell的性质 Linux系统的shell相当于操作系统的“一层外壳”,它是命令语言解释器,它为用户提供了使用操作系统的接口。它不属于内核,而是在内核之外以用户态方式运行。它的基本功能是解释并执行用户打入的各种命令,实现用户与Linux内核的接口。 个人理解:shell就是普通的用户态程序,能够理 ...
分类:
系统相关 时间:
2017-05-08 14:17:29
阅读次数:
186
所谓同步I/O是指在调用ReadFile、WriteFile等函数进行输入输出操作时,系统完毕了输入输出ReedFile、WriteFile才返回。在操作系统进行I/O操作的过程上,用户态线程不能运行。因此在同步I/O时。假设须要在I/0时进行其它操作就仅仅能再开启线程。 而异步I/O是在调用Rea ...
分类:
其他好文 时间:
2017-05-03 20:39:44
阅读次数:
164