Toggle navigation
JIN Blog
Home
About
Tags
JIN Blog
Thinking will not overcome fear but action will.
Socket编程之select()和poll() epoll()
同步IO和异步IO,阻塞IO和非阻塞IO分别是什么,到底有什么区别?不同的人在不同的上下文下给出的答案是不同的。所以先限定一下本文的上下文。 一 概念说明 在进行解释之前,首先要说明几个概念: - 用户空间和内核空间 - 进程切换 - 进程的阻塞 - 文件描述符 - 缓存 I/O 用户空间与内核空间 现在操作系统都是采用虚拟存储器,那么对32位操作系统而言,它的寻址空间(虚拟存储...
Posted by JIN Blog on May 27, 2018
Makefile 的编写
makefile 的编写 CC = gcc OBJ = LIST FLAG = -g -Wall $(OBJ):main.c list.c $(CC) $(FLAG) -o $@ $^ .PHONY:clean clean: rm -i *.o 首先是变量,一般用大写来代替 ,类似C中的宏定义; $() 括号中为变量,$$@为生成和目标文件名一致的输出文件,$^为目标文件所需要...
Posted by JIN Blog on May 27, 2018
Int类型在内存中是以何种方式存储的?
Q1:int类型在内存中是以何种方式存储的? 要解决这个问题,我们需要首先比较深入地理解下int类型。 { 本文中的int类型的相关数据,如无特别说明都以32位操作系统下的VC++6.0编译器环境为准。 在下表中可以看到,int类型表示带有符号的整型,而unsigned int类型为无符号的整型。 类型名称 占字节数 取...
Posted by JIN Blog on May 27, 2018
Fork()函数解析
一、fork()函数解析 fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,这个新产生的进程称为子进程。一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。然后把原来的进程的所有值都复制到新的新进程中,只有少数值与原来的进程的值不同。相当于克隆了一个自己。需要注意的一点:就是调用fork函数之后,一定是两个进程同时执行的代码段是fork函...
Posted by JIN Blog on May 27, 2018
Makefile容易犯错的语法
##Makefile容易犯错的语法 1.引言 最近学习android的Build系统,接触最多的自然就是Makefile语法,发现很多容易出错的地方,不避开这些错误语法没法真正了解Makefile的内涵,下面就介绍遇到的一些让人困惑的语法错误 2.列举容易犯错的地方 ifeq条件判断 ifeq($(fro),no) endif 123 多么简单的语法,但是执行会报错如下...
Posted by JIN Blog on May 27, 2018
Linux进程间的通信方式和原理
Linux进程间的通信方式和原理 ###进程的概念 进程是操作系统的概念,每当我们执行一个程序时,对于操作系统来讲就创建了一个进程,在这个过程中,伴随着资源的分配和释放。可以认为进程是一个程序的一次执行过程。 ###进程通信的概念 进程用户空间是相互独立的,一般而言是不能相互访问的。但很多情况下进程间需要互相通信,来完成系统的某项功能。进程通过与内核及其它进程之间的互相...
Posted by JIN Blog on May 27, 2018
Linux文件 io 介绍
Linux文件 I\O 介绍 1. Linux系统调用 Linux系统调用(system call)是指操作系统提供给用户程序的一组“特殊接口”,用户程序可以通过这组“特殊”接口来获得操作系统提供的特殊服务。 为了更好的保护内核空间,将程序的运行空间分为内核空间和用户空间,他们运行在不同的级别上,在逻辑上是相互隔离的。在Linux中,用户程序不能直接访问内...
Posted by JIN Blog on May 27, 2018
Linux多线程编程
Linux多线程基本编程 线程概念 线程是指运行中的程序的调度单位。一个线程指的是进程中一个单一顺序的控制流,也被称为轻量级线程。它是系统独立调度和分配的基本单位。同一进程中的多个线程将共享该系统中的全部系统资源,比如文件描述符和信号处理等。一个进程可以有很多线程,每个线程并行执行不同的任务。 基于线程的并发编程 线程由内核自动调度,每个线程都有它自己的线程上下文(thre...
Posted by JIN Blog on May 27, 2018
Linux下的tcpip编程
Linux下的TCP/IP编程—-基础篇 端口与进程 TCP 的包是不包含 IP 地址信息的,那是 IP 层上的事,但是有源端口和目的端口。 就是说,端口这一东西,是属于 TCP 知识范畴的。 我们知道两个进程,在计算机内部进行通信,可以有管道、内存共享、信号量、消息队列等方法。 而两个进程如果需要进行通讯最基本的一个前提是能够唯一的标识一个进程,在本地进程通讯中我们可以使用 ...
Posted by JIN Blog on May 27, 2018
Arm汇编指令和切换模式
ARM异常处理模式 ARM有七种异常中断类型,优先级、工作模式(有七种工作模式)、地址、功能都不一样。如其中软件中断SWI优先级为6,工作模式管理模式,异常向量地址为0x00000008,功能是用户定义的中断指令,可用于用户模式下的程序调用特权操作。 当中断产生后,除了复位中断立即中止当前指令外,其余情况都是处理器完成当前指令后,才去执行异常处理程序。 ...
Posted by JIN Blog on May 27, 2018
← Newer Posts
FEATURED TAGS
Linux
kennel
ABOUT ME
Goals determine what you going to be!
✉️ jinpan.f@outlook.com
FRIENDS
sspai
CSDN
Apple