操作系统基本概念 首先来来说下操作系统,嗯,操作系统是计算机硬件的管理软件,是对计算机硬件的抽象,操作系统将应用程序分为用户态和内核态,例如驱动程序就位于内核态,而我们写的一般程序都是用户态,包括web服务器这些,应用程序无法直接操控硬件,只能通过系统调用,通过操作系统驱动io硬件,通过操作系统 ...
一 同步阻塞 IO BIO 当用户线程调用了 read 系统调用,内核 kernel 就开始了 IO 的第一个阶段:准备数据。很多时候,数据在一开始还没有到达 比如,还没有收到一个完整的Socket数据包 ,这个时候 kernel 就要等待足够的数据到来。 当 kernel 一直等到数据准备好了,它就会将数据从 kernel 内核缓冲区,拷贝到用户缓冲区 用户内存 ,然后 kernel 返回结果。 ...
2020-12-16 16:08 0 494 推荐指数:
操作系统基本概念 首先来来说下操作系统,嗯,操作系统是计算机硬件的管理软件,是对计算机硬件的抽象,操作系统将应用程序分为用户态和内核态,例如驱动程序就位于内核态,而我们写的一般程序都是用户态,包括web服务器这些,应用程序无法直接操控硬件,只能通过系统调用,通过操作系统驱动io硬件,通过操作系统 ...
同步和异步,阻塞和非阻塞 同步和异步 关注的是结果消息的通信机制 同步:同步的意思就是调用方需要主动等待结果的返回 异步:异步的意思就是不需要主动等待结果的返回,而是通过其他手段比如,状态通知 ...
目录 单线程 多路复用机制 单线程 Redis 是单线程,主要是指 Redis 的网络 IO 和键值对读写是由一个线程来完成的。持久化、异步删除、集群数据同步等,其实是由额外的线程执行的。 避免了多线程编程模式面临的共享资源的并发访问控制问题。 多路复用 ...
之前自学以及在公司里的一年多都没有接触过网络IO相关的知识,六月份二面的时候有位面试官问了我一些有关网络IO的相关问题,结果一脸懵逼。趁着现在有空,正好入门一下。 基础概念 正式开始之前,需要铺垫一些基本概念,以免接下来看到一脸懵逼。 我们都知道,在操作系统中,CPU负责执行指令,这些指令 ...
一、三种网络IO模型: 分类: BIO 同步的、阻塞式 IO NIO 同步的、非阻塞式 IO AIO 异步非阻塞式 IO 阻塞和同步的概念: 阻塞:若读写未完成,调用读写的线程一直等待 非阻塞:若读写未完成,调用读写的线程不用等待,可以处理其他工作 异步 ...
术语概念描述: IO有内存IO、网络IO和磁盘IO三种,通常我们说的IO指的是后两者。 阻塞和非阻塞,是函数/方法的实现方式,即在数据就绪之前是立刻返回还是等待。 以文件IO为例,一个IO读过程是文件数据从磁盘→内核缓冲区→用户内存的过程。同步与异步的区别主要在于数据从内核缓冲区→用户内存 ...
在网络协议当中,我们一般会去讲解整个网络信息传输的整个过程的时候,都会套用一个经典都5层模型,在这5层模型里面,我们分为应用层,传输层,网络层,数据链路层和物理层,这个在每台电脑上,每台服务器上,他都是有这么一个相应都层级的关系来维护我们整个网络数据传输的过程,所以在 ...
一些概念: 同步和异步 同步和异步是针对应用程序和内核的交互而言的,同步指的是用户进程触发I/O操作并等待或者轮询的去查看I/O操作是否就绪,而异步是指用户进程触发I/O操作以后便开始做自己的事情 ...