
操作系统OS
谁动了我的小老弟
这个作者很懒,什么都没留下…
展开
-
内核态和用户态
什么是内核态和用户态? 内核态:cpu可以访问内存的所有数据,包括外围设备,例如:硬盘,网卡,cpu,也可以将自己从一个程序切换到另一个程序 用户态:只能访问受限的访问内存,且不允许访问外围设备,占用cpu 的能力被剥夺,cpu资源可以被其他程序获取 为什么需要内核态和用户态 限制不同程序之间的访问能力,防止他们获取别的程序的内存数据,或着获取外围设备的数据。 用户态和内核态的切换 所有用户程序都是运行在用户态的,但是如果程序确实需要做一些内核态的事情:比如从硬盘读取数据,或者获取键盘输入,而唯一能做这原创 2020-11-18 16:02:41 · 146 阅读 · 0 评论 -
IO多路复用
I/O多路复用 本质上是通过一种机制(系统内核缓冲I/O数据),让单个进程可以监视多个文件描述符,一旦某个描述符就绪(一般就是读就绪或写就绪),能够通知到程序进行相应的读写操作。 Unix的五种IO模型有 blocking IO 阻塞IO nonblocking IO 非阻塞IO IO multiplexing IO多路复用 signal driven IO 信号驱动IO asynchronous IO 异步IO 前四种IO都归类为同步IO。 select、poll、epoll IO复用的方法,本质上是原创 2020-11-18 16:02:09 · 183 阅读 · 1 评论