自学的小总结I/O篇

I/O原理篇

1.计算机组成原理(linux)

  1. 内核,给程序暴露调用,调用叫系统调用
  2. cpu,内存,磁盘,网卡这些概念都不用说

下面看一个图

在这里插入图片描述

  1. 如上图所示,用qq,java程序等举例,当你开启qq或者想读取一个文件时,内核首先将qq的执行代码加载到内存中,并且在中继向量表中维护一份中继向量数据(key-value)用于指令重排。
  2. 当同时有个java程序输出了一段话System.out.print(“aaaaa”),内核调用wirte(“aaaaa”,0x80)的方法,cpu收到了int(指令)去中断向量表中找对应的执行指令(根据0x80),找到后执行该指令输出“aaaa”

cpu的指令切换(时间片)是靠一个晶片的硬件来实现的,它是基于时间的频率振动(时钟中断),用于切换哪个程序的执行。

I/O

一切IO的演变都是基于内核的改变
1.BIO 最开始的内核就是BIO模型,也就是每一连接,每线程。当并发量起来之后,假设有一万个连接就需要创建一万个线程,这种就会导致内存的不够用。
2.NIO accept和receive都不需要阻塞,通过内核的fctnl=nonblock设置
3.多路复用,通过selector来实现线程的复用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值