从linux源码看socket的阻塞和非阻塞 笔者一直觉得如果能知道从应用到框架再到操作系统的每一处代码,是一件Exciting的事情。大部分高性能网络框架采用的是非阻塞模式。笔者这次就从linux源码的角度来阐述socket阻塞(block)和非阻塞(no
IO概念 Linux的内核将所有外部设备都可以看做一个文件来操作。那么我们对与外部设备的操作都可以看做对文件进行操作。我们对一个文件的读写,都通过调用内核提供的系统调用;内核给我们返回一个file descriptor(fd,文件描述符)。而对一个socke
一、初步了解什么是I/O模型。 1.回顾,用户态与内核态。 操作系统位于应用程序和硬件之间,本质上是一个软件,它由内核以及系统调用组成。 内核:用于运行于内核态,主要作用是管理硬件资源。 系统调用:运行与用户态,为应用程序提供系统调用的接口。 操作系统的核心,
基础篇:操作系统、计算机网络、设计模式 一:操作系统 1. 进程的有哪几种状态,状态转换图,及导致转换的事件。 2. 进程与线程的区别。 3. 进程通信的几种方式。 4. 线程同步几种方式。(一定要会写生产者、消费者问题,完全消化理解) 5. 线程的实现方式.
很早以前研究过C#和C++的网络通信,参考我的文章: C#网络编程之Tcp实现客户端和服务器聊天 C#网络编程之套接字编程基础知识 C#网络编程
From : http://www.cnblogs.com/aylin/p/5572104.html 1、socket socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,对于文件用【打开】【读写】【关闭】模式来
1、概念说明 在进行解释之前,首先要说明几个概念: -用户空间和内核空间 -进程切换 -进程的阻塞 -文件描述符 -缓存 I/O 用户空间与内核空间 现在操作系统都是采用虚拟存储器,那么对32位操作系统而言,它的寻址空间(虚拟存储空间)为4G(2的32次方)
嵌入式的学习是需要日积月累的,是通过一点一滴的积累才能成为大神。下面来介绍一下嵌入式linux学习基础规划,目标是达到适应嵌入式应用软件开发、嵌入式系统开发或嵌入式驱动开发的基本素质。采用了目前应用最广泛的软硬件开发平台(Linux和Arm)。