1:计算机可以分为硬件和软件,两个部分;
1:硬件:CPU,寄存器,各级缓存,各种总线,内存,硬盘,显/声卡等
2:软件:驱动,操作系统,编译器,应用软件等;
2:计算机硬件和软件交互的有:各种驱动(驱动底层应该是数电信号转换技术);
3:普通程序从启动到工作到结束的过程:
1:各种语言的代码,一直被编译成机器码,才能被计算机硬件使用;
4:操作系统与计算机硬件
1: 用户态->内核态-> 缓存-> cpu
|________| |_各种外设(硬盘,网卡,显卡等)
|
内存
2: 如 java的IO 一般需要先从用户态发起申请,内核态接收IO申请指令,发起IO操作(此时,对于用户态程序javaIO是阻塞在,一直阻塞的状态,称之为用户态和内核态的同步,或同步阻塞)
5: java SocketChannel
1: java单个线程 可以 对应多个Channel;至于 NIO channel 是线程主动轮训 channel的状态 和 AIO channel的 在于主动通知线程io已完成状态