自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (8)
  • 收藏
  • 关注

转载 FIQ和IRQ比较

FIQ和IRQ是两种不同类型的中断,ARM为了支持这两种不同的中断,提供了对应的叫做FIQ和IRQ处理器模式(ARM有7种处理模式)。一般的中断控制器里我们可以配置与控制器相连的某个中断输入是FIQ还是IRQ,所以一个中断是可以指定为FIQ或者IRQ的,为了合理,要求系统更快响应,自身处理所耗时间也很短的中断设置为FIQ,否则就设置了IRQ。如果该中断设置为了IRQ,那么当该中断产生的

2014-09-20 00:19:42 1825

转载 Linux的input输入子系统:总体框架

一、input输入子系统总体框架Linux输入子系统将输入驱动抽象为三层:设备驱动层、核心层、事件处理层。 设备驱动层:将底层的硬件输入事件转化为统一事件形式,向输入核心(Input Core)汇报。核心层:承上启下。为驱动提供设备和驱动注册等操作的函数接口。事件处理层:和用户层交互,提供设备的read和write等函数。二、输入子系

2014-09-19 23:44:58 739

转载 c++之explicit

C++中, 一个参数的构造函数(或者除了第一个参数外其余参数都有默认值的多参构造函数), 承担了两个角色。 1 是个构造器 ,2 是个默认且隐含的类型转换操作符。

2014-09-15 11:34:36 634

转载 阿里HR筛选简历

上周发了一个阿里内推的帖子,没想到短时间内就收到了成百上千封简历。我仔仔细细地看了每一封简历,附带有Github地址的我也点进去仔细看了代码。最终我留下了30%的简历,而且这30%中只有10%的本科生。所有通过内推初步筛选的小伙伴会在8月30号收到邮件通知。筛选标准满足以下条件中的任何一个,直接通过筛选:* ACM, Topcoder, Google Code Jam、Ya

2014-09-15 11:16:29 4029

原创 竞态条件(多线程)

可以想像一下,如果在一个线程正在创建的同时另一线程正在退出,那么会发生什么情况呢?如果线程调度器正巧在它们之间切换,程序会莫名其妙地关闭。线程 1 正在执行i = i + 1; 这样的代码,线程 2 则在执行i = i - 1; 这样的代码。为了讨论的方便,假定变量 i 的初始值是 2。 线程 1:取出 i 的值(2)。 线程 1: i

2014-09-14 22:35:54 1141

转载 linux生产者消费者(解释得非常好)

摘要:同步和互斥是进程间很重要的交互模式,而生产者和消费者问题则是同步和互斥的一个景点模型。我认为理解概念应该结合实际来进行,所以本文以实现生产者和消费者模型的形式来讲述同步和互斥。本文先简单谈了个人对同步和互斥的概念的理解,然后用伪码的形式给出了各类生产者和消费者的解决方法,最后用C程序的形式实现了进程版的生产者和消费者模型。PS:C程序的运行平台是linux2.4.8,编译器为gcc4.1.1

2014-09-14 21:49:17 2702

转载 简单Linux C线程池

大多数的网络服务器,包括Web服务器都具有一个特点,就是单位时间内必须处理数目巨大的连接请求,但是处理时间却是比较短的。在传统的多线程服务器模型中是这样实现的:一旦有个请求到达,就创建一个新的线程,由该线程执行任务,任务执行完毕之后,线程就退出。这就是"即时创建,即时销毁"的策略。尽管与创建进程相比,创建线程的时间已经大大的缩短,但是如果提交给线程的任务是执行时间较短,而且执行次数非常频繁,那么服

2014-09-14 21:04:30 475

转载 ARM的一些架构常识

ARM微处理器支持7种运行模式,分别为:用户模式(usr):ARM处理器正常的程序执行状态。快速中断模式(fiq):用于高速数据传输或通道处理。外部中断模式(irq):用于通用的中断处理。管理模式(svc):操作系统使用的保护模式。数据访问终止模式(abt):当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护。系统模式(sys):运行具有特权

2014-09-11 20:20:53 645

转载 嵌入式动态内存分配过程

参考:http://blog.chinaunix.net/space.php?uid=20312618&do=blog&cuid=1815216 一、概述:     动态内存分配,特别是开发者经常接触的Malloc/Free接口的实现,对许多开发者来说,是一个永远的话题,而且有时候也是一个比较迷惑的问题,本文根据自己的理解,尝试简单的探究一下在嵌入式系统中,两类典型系统中动态内

2014-09-09 22:23:00 3017

转载 多线程中的使用共享变量的问题

一组并发线程运行在一个进程的上下文中,每个线程都有它自己独立的线程上下文,例如:栈、程序计数器、线程ID、条件码等,每个线程和其它的线程一起共享除此之外的进程上下文的剩余部分,包括整个用户的虚拟地址空间,当然也共享同样的打开的文件的集合。,这里有一点要特别注意,就是寄存器是从不共享的,而虚拟存储器总是共享的。有了共享就要防止在对共享变量进行操作的过程中得到一个不可知的值,在Linux内核中

2014-09-09 22:07:47 3699

转载 C/C++的类型安全

什么是类型安全?类型安全很大程度上可以等价于内存安全,类型安全的代码不会试图访问自己没被授权的内存区域。“类型安全”常被用来形容编程语言,其根据在于该门编程语言是否提供保障类型安全的机制;有的时候也用“类型安全”形容某个程序,判别的标准在于该程序是否隐含类型错误。类型安全的编程语言与类型安全的程序之间,没有必然联系。好的程序员可以使用类型不那么安全的语言写出类型相当安全的程序,相反的,差一点儿

2014-09-09 18:28:05 484

转载 C++ 初始化列表

青春都一饷,忍把浮名,换了代码轻狂。关注DirectX随笔 - 181, 文章 - 65, 评论 - 1528, 引用 - 0C++ 初始化列表何谓初始化列表与其他函数不同,构造函数除了有名字,参数列表和函数体之外,还可以有初始化列表,初始化列表以冒号开头,后跟一系列以逗号分隔的初始化字段。在C++中,struct和class的唯

2014-09-09 16:15:46 419

转载 阿里负责人揭秘面试潜规则【转】

最近负责了公司招聘,发现校园招聘这种事情,真是一个奇葩的工作。能做好校园招聘的人,一定是一个矛盾体。这个人一定是思维缜密,因为流程在这里特别重要,宣讲会、笔试、面试,需要不能出乱子;这个人还需要有创新意识,做好了宣讲会、笔试面试,也就是中规中矩,没啥特色,如果不弄点有新意的东东出来,也很难找到最优秀的人才。有人说,这个不矛盾啊。看上去不矛盾,实际上挺矛盾的。因为如果这个人思维缜密,

2014-09-07 17:19:21 858

转载 Linux下IPC总结

IPC进程间通信(Inter-Process Communication)就是指多个进程之间相互通信,交换信息的方法。Linux IPC基本上都是从Unix平台上继承而来的。主要包括最初的Unix IPC,System V IPC以及基于Socket的IPC。另外,Linux也支持POSIX IPC。System V,BSD,POSIX    System V是Unix操作系统最早

2014-09-07 10:00:28 614

转载 内核态和用户态的区别

当一个任务(进程)执行系统调用而陷入内核代码中执行时,我们就称进程处于内核运行态(或简称为内核态)。此时处理器处于特权级最高的(0级)内核代码中执行。当进程处于内核态时,执行的内核代码会使用当前进程的内核栈。每个进程都有自己的内核栈。当进程在执行用户自己的代码时,则称其处于用户运行态(用户态)。即此时处理器在特权级最低的(3级)用户代码中运行。当正在执行用户程序而突然被中断程序中断时,此时用户程序

2014-09-06 16:34:59 477

转载 用户级线程和内核级线程的区别

转载于http://col1.blog.163.com/blog/static/1909775192012719114033352/1 .内核级线程:切换由内核控制,当线程进行切换的时候,由用户态转化为内核态。切换完毕要从内核态返回用户态;可以很好的利用smp,即利用多核cpu。windows线程就是这样的。 2. 用户级线程内核的切换由用户态程序自己控制内核切换,不需要内

2014-09-06 16:29:32 607

转载 线程的同步机制

1、  Event用事件(Event)来同步线程是最具弹性的了。一个事件有两种状态:激发状态和未激发状态。也称有信号状态和无信号状态。事件又分两种类型:手动重置事件和自动重置事件。手动重置事件被设置为激发状态后,会唤醒所有等待的线程,而且一直保持为激发状态,直到程序重新把它设置为未激发状态。自动重置事件被设置为激发状态后,会唤醒“一个”等待中的线程,然后自动恢复为未激发状态。所以用自动重置事件

2014-09-06 13:19:15 481

原创 父子进程共享的资源

先来看一个题目:当父进程调用fork()创建子进程之后,下列哪些变量在子进程中修改之后,父进程里也会相应地作出改动?A.全局变量B.局部变量C.静态变量D.文件指针答案为D,解释如下:fork()子进程和父进程共享的资源:打开的文件实际用户ID、实际组ID、有效用户ID、有效组ID添加组ID进程组ID对话期ID控制终端。 设置-用户-ID标志

2014-09-03 19:44:46 6863

转载 建议性锁和强制性锁的区别

所谓建议性锁就是假定人们都会遵守某些规则去干一件事。例如,人与车看到红灯都会停,而看到绿灯才会继续走,我们可以称红绿等为建议锁。但这只是一种规则而已,你并不防止某些人强闯红灯。而强制性锁是你想闯红灯也闯不了。建议性锁只在cooperating processes之间才有用,对cooperating process的理解是最重要的,它指的是会影响其它进程的进程或被别的进程所影响的进程,举两个

2014-09-03 09:00:10 2881

转载 linux多进程下的文件共享(包括每个进程的文件表项的详细介绍)

1. 文件共享  (1) 每个进程在进程表中都有一个记录项,记录项中包含有一张打开文件描述符表,可将其视为一个矢量,每个描述符占用一项。与每个文件描述符相关联的是:      (a) 文件描述符标识(close_on_exec)。     (b)指向一个文件表项的指针。  (2)内核为所有的打开文件维持一张文件表。每个文件表项包含:      (a)文件状态标志(读、写、添加、

2014-09-03 00:04:42 3126

转载 多进程写文件的三种方式

在写程序的时候,往往为了调试方便或者对于莫名的问题的追踪,需要写log记录进行处理,但是有时候会因为出现文件的读写比较慢或者是多进程访问导致出错或者内容混乱,但是如何才能避免呢,这里我有三个想法和大家分享一下,看看大家还有什么好方法,可以一起讨论。      (1)通过文件加锁的方式,在一个进程访问的时候将文件加锁,处理完了再关闭,不过这种方式会造成文件大频繁操作,导致性能比较低。

2014-09-02 23:52:48 1076

原创 fork,vfork,clone的区别

fork和clone的区别:  Linux将创建进程和执行所创建的进程分为2个阶段。第一个阶段是创建。父进程首先复制子进程,所复制出来的子进程拥有自己的任务结构体和系统堆栈,除此之外所有资源都与父进程共享。Linux提供两种方式复制子进程:一个是fork(),另外一个是clone()。fork()函数复制时将父进程的所以资源都通过复制数据结构进行了复制,然后传递给子进程,所以fork()函数不

2014-09-02 22:54:33 1068

转载 理解互斥量和信号量

互斥量(Mutex) 互斥量表现互斥现象的数据结构,也被当作二元信号灯。一个互斥基本上是一个多任务敏感的二元信号,它能用作同步多任务的行为,它常用作保护从中断来的临界段代码并且在共享同步使用的资源。 Mutex本质上说就是一把锁,提供对资源的独占访问,所以Mutex主要的作用是用于互斥。Mutex对象的值,只有0和1两个值。这两个值也分别代表了Mutex的两

2014-09-02 09:24:00 459

转载 linux多进程共享内存

shmget函数原型shmget(得到一个共享内存标识符或创建一个共享内存对象)所需头文件#include #include 函数说明得到一个共享内存标识符或创建一个共享内存对象并返回共享内存标识符函数原型int shmget(key_t key, size_t size, in

2014-09-02 08:58:29 1336

Linux应用编程(自己面试整理)

Linux应用编程方面的资料,自己面试整理的,对找工作非常有效

2014-10-20

c++编程(自己面试总结的)

c++编程,自己面试整理的,找工作时非常有效,基本上面试官问到的这方面的内容里面都有!

2014-10-20

linux环境编程(自己面试总结的)

linux环境编程,自己面试整理的,找工作时非常有效,基本上面试官问到的这方面的内容里面都有!

2014-10-20

嵌入式_C语言(自己面试总结的)

嵌入式开发,自己面试整理的,找工作时非常有效,基本上面试官问到的这方面的内容里面都有!

2014-10-20

linux常用指令(自己面试整理)

linux常用指令,自己面试整理的,找工作时非常有效,基本上面试官问到的这方面的内容里面都有!

2014-10-20

stm32 网络远程IAP(支持stm32的网络远程程序烧写,uip协议栈)全网独有

这是全网独有的,可以实现远程stm32的网络远程IAP下载,所移植的是uip协议栈

2014-08-04

操作系统方面的知识(找工作自己总结的)

操作系统,自己面试整理的,找工作时非常有效,基本上面试官问到的这方面的内容里面都有!

2014-10-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除