自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

sean_hy2009的专栏

欢迎QQ交流:244282676

  • 博客(24)
  • 资源 (4)
  • 收藏
  • 关注

原创 makefile浅谈

<br />在大的工程中,我们可能无从下手。不过一般的工程里面都有个makefile文件,makefile文件告诉我们目标文件和他所依赖的文件。根据makefile文件我们就能很清晰的了解项目的结构。下面来说说他的基本的语法。<br />makefile文件的一般的语法格式:<br /> <br />目标:依赖条件(可以有多个依赖)<br /><TAB>命令<br /> <br />上面就是一般的格式。目标可以有多个目标。<TAB>必须是tab缩进,不能用空格来替换。命令将由shell来解释。下面来看看一个

2010-07-30 09:35:00 440

原创 tpm 规范

Compatibility with Existing Applications<br />The most correct and convenient way to access the tpm emulator is to use the provided device driver library (tddl). For a comprehensive description of its functionality we refer to the official TCG specificatio

2010-07-29 23:49:00 1043

原创 持续关注的博文/网站

西风堂微博:http://hi.baidu.com/xifengtang

2010-07-29 17:09:00 508

转载 tpm emulator环境搭建

1、安装环境准备1.1内核<br />Linux内核2.6.12版本及以上,提供了对tpm芯片的支持,下载地址:ftp://ftp.kernel.org/pub/linux/kernel/v2.6/。1.2算法库支持<br />Gmplib库,提供一些密码学算法的支持,下载地址:http://gmplib.org/。1.3 Tpm_emulator软件<br />Tpm_emulator模拟tpm芯片,相当于一个虚拟的芯片,目前最高版本0.5.1,下载地址:https://developer.berlios

2010-07-27 09:48:00 3468 2

原创 sockt套接字之系统调用的那些事儿

套接字的特性由三个属性确定:域(domain),类型和协议。创建套接字socket系统调用创建一个套接字并返回一个描述符,该描述符可以用来访问套接字。#include #icnlude int socket(int domain,int type,int protocol);/*domain参数指定协议簇,一般我们用AF_UNIX和AF_INET来填充,前面的表示 UNIX域协议(文件系统套接字),后一个参数表示ARPA因特网协议(UNIX网络套接字);type指定新套接字的通信特性。取值一

2010-07-25 18:10:00 789

原创 socket套接字

<br />套接字连接:<br /> <br />首先,服务器应用程序用系统调用socket创建一个套接字;<br /> <br />接下来,给套接字命名;<br /> <br />最后,连接套接字。

2010-07-24 10:17:00 400

原创 进程间通信之消息队列篇

<br />如同其他ipc机制一样,消息队列提供量一种从一个进程向另外一个进程发送一个数据块的方法。每个数据快都被认为含有一个类型,接收进程可以独立地接收含有不同类型直的数据块。我们可以通过发送消息来几乎完全避免命名管道的同步和阻塞问题。但不能解决譬如管道满时阻塞问题。接口函数和其他ipc机制类似。<br />#include <sys/msg.h>int msgget(key_t key,int msgflg);int msgsnd(int msgid,const void *msg_ptr,si

2010-07-23 21:47:00 401

原创 进程间通信之共享内存篇

<br />共享内存是在两个正在运行的进程之间传递数据的一种非常有效的方式。但是他并没有为我们提供同步的机制,因此我们需要用其他的机制来同步对共享内存的访问。对共享内存访问的同步控制必须要由程序员来控制。一种典型的应用是,我们用共享内存来提供对大块内存区域的有效访问,同时通过传递小消息来同步对该内存的访问。如果一个进程向共享内存段写入了数据,所做的改动立即被其他可以访问该共享内存的进程看到。<br /> <br />接口函数:<br />#include <sys/shm.h>int shmget(ke

2010-07-23 18:10:00 505

转载 进程和线程的区别

<br />进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性。进程和线程的区别在于:<br />简而言之,一个程序至少有一个进程,一个进程至少有一个线程. <br />线程的划分尺度小于进程,使得多线程程序的并发性高。<br />另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。<br />线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在

2010-07-23 11:47:00 342

原创 进程间通信之信号量篇

<br />在这里我们要区别线程同步通信时的信号量机制。具体它们的接口函数可以查看相关资料,我们这里只看看进程通信的信号量机制。<br />在编程中,为了防止出现因多个程序同时访问一个共享的资源而引发的问题,我们通过生成并使用令牌来授权,在任一时刻只能有一个执行线程访问代码的临界区域。<br />PV 操作<br />P(sv) 如果sv的直大于0,就给他减1;如果他的直等于0,就挂起该进程的执行;<br />V(sv) 如果有其他进程因等待sv而被挂起,就让它执行;如果没有进程因等待sv而被挂起,就给

2010-07-23 11:38:00 431

原创 进程间通信之管道fifo篇

<br />这里我们通过一个例程来说明,这个例程是通过管道来编写一个简单的客户/服务器应用程序。在这里我们允许多个客户进程都可以向服务器发送数据。因为没次服务其只能处理一个数据块,所以只使用一个fifo,服务器通过他读取数据,每个客户向它写数据。只要将fifo以阻塞模式打开,服务器和客户就会根据需要自动被阻塞。<br />将处理后的数据返回给客户,我们需要为每个客户安排第二个管道来接受返回的数据。通过在传递给服务器的原先数据中加上客户的进程标识附,双方就可以使用他来为返回数据的管道生成一个唯一的名字。<br

2010-07-22 17:02:00 452

原创 进程间通信之管道篇

这里我们谈谈进程间交互的机制,这里不同于使用信号来让进程间发送消息。当从一个进程连接数据流到另一个进程时,我们使用术语管道(pipe)。我们通常是把一个进程的输出通过管道连接到另一个进程的输入。我们来看看底层的pipe()函数调用。通过这个函数在两个程序间传递数据不需要启动一个shell来解释请求的命令。他同时还提供量对读写数据的更多控制。pipe函数的原型如下:#include /*pipe的参数是由两个整数类型的文件描述符组成的数组指针*/int pipe(int file_descriptor

2010-07-22 10:21:00 395

原创 POSIX线程之属性篇

现在来谈谈线程的属性#include #include #include #include #include #include void *thread_fun(void *arg);char message[]="hello";int thread_finished = 0;int main(){ int res; pthread_t a_thread; pthread_attr_t thread_attr; //初始化属性 res=pt

2010-07-20 22:08:00 414

原创 POSIX线程之同步续

互斥量进行同步另一种用在多线程程序中的访问方法是使用互斥量。它允许 程序员锁住某个对象,使得每次只能有一个线程访问他。为了控制对关键代码的访问,必须在进入代码之前锁住一个互斥量,然后在完成操作之后解锁它。实例:#include #include #include #include #include #include pthread_mutex_t work_mutex;void *thread_fun(void *arg);#define WORK_SIZE 1024ch

2010-07-20 20:45:00 421

原创 POSIX线程之同步

<br />信号量进行同步<br /> <br />有两组接口函数用于信号量。一组源于posix的实时扩展,用于线程。另外一组称为系统v信号量,常用于进程的同步。<br /> <br />在这里我们看前面的一组。我们用的是最简单的信号量--二进制信号量(0|1),当然还有一种更通用的信号量--计数信号量(有更大的取值<br /> <br />范围)。<br /> <br />信号量函数的名字都已sem_开头。线程中使用的基本信号量函数有四个:<br />#include<semaphore.h>int

2010-07-20 18:13:00 590

原创 旧事之局部变量和全局变量

<br />局部变量和全局变量<br /> <br />局部变量可以和全局变量重名,并且会覆盖全局变量。在引用全局变量时,有两种方式可以选择:引用头文件的方式和extern关键字。<br /> <br />程序的局部变量存放在堆栈当中,全局变量存放在静态区中,动态申请数据存放在堆中。<br /> <br />下面看一个具体的列子:<br />#include <stdio.h>#include <unistd.h>#include <stdlib.h>#include <

2010-07-20 16:49:00 371

原创 linux 文件锁定

<br />文件锁定<br /> <br />文件锁定是多任务操作系统中一个非常重要的组成部分。程序通常需要共享数据,而通常是通过文件来实现的。<br /> <br />创建锁文件<br /> <br />许多应用程序只要能够针对某个资源创建一个锁文件即可。然后,其他程序就可以通过检查这个文件的状态来判断它们自己<br /> <br />是否被允许访问这个资源。(锁文件仅仅只是充当一个指示器的角色,程序需要通过相互协作来使用它们)<br /> <br />实例:<br />#include <unistd.

2010-07-19 16:23:00 1166

原创 双系统fedora 11 和xp ,进不了xp系统问题解决

<br />刚接触linux,安装来linux和xp双系统后,可能会出现xp系统进不去的问题。<br /> <br />硬盘安装linux系统,安装完后,以root身份登录系统,修改/etc/grub.conf文件,在文件末尾添加:<br /> <br />title   windows xp<br /> <br />   rootnoverify  (hd0,0)<br /> <br />    chainloader  +1<br /> <br />保存退出。 重启系统,根据不同系统按f10 或者

2010-07-19 10:22:00 543

原创 mmap函数详解

<br />mmap(内存映射,memory map)函数的作用是建立一段内存,使它能够被两个或者更多的程序读写。一个程序对它所做的修改可以被<br /> <br />其他程序看见。<br /> <br />这一功能还可以用在文件的处理上。你可以使某个磁盘文件的全部内容看起来就像是内存中的一个数组。如果文件由记录组成,而这些记录<br /> <br />又能够用c语言中的结构来描述的话,你就可以通过访问结构数组对文件的内容进行修改。<br /> <br />mmap函数创建一个指向一段内存区域的指针,该指针

2010-07-18 16:04:00 1174

转载 Linux下的段错误产生的原因及调试方法

<br />简而言之,产生段错误就是访问了错误的内存段,一般是你没有权限,或者根本就不存在对应的物理内存,尤其常见的是访问0地址.<br /><br />一般来说,段错误就是指访问的内存超出了系统所给这个程序的内存空间,通常这个值是由gdtr来保存的,他是一个48位的寄存器,其中的32位是保存由它指向的gdt表,后13位保存相应于gdt的下标,最后3位包括了程序是否在内存中以及程序的在cpu中的运行级别,指向的gdt是由以64位为一个单位的表,在这张表中就保存着程序运行的代码段以及数据段的起始地址以及与此相

2010-07-18 12:35:00 507

原创 好的人好的事

<br />我不太喜欢与他人争吵,所以基本出现分歧的时候,我都会选择沉默!<br /> <br />我就是我,哈哈哈<br /> <br />生活从来就是这样--开心自己,开心生活

2010-07-17 23:40:00 341

原创 自勉

<br />回家一周,没做什么事了。应该要好好学习。给自己的话--一切皆有可能!<br /> <br />好好工作好好学习好好生活!自己的梦想自己去摘,自己的生活自己把握!<br /> <br />把握自己!有一天终会成功的

2010-07-17 23:38:00 296

转载 s3c2410的bootloader(vivi)简介

<br />s3c2410的Bootloader(Vivi)源代码分析<br />Bootloader(Vivi)源代码分析<br />----基于S3C2410处理器<br />作者:so_zhou <br />Email:[email protected] <br />QQ:877970105 <br />欢迎广大嵌入式之友多多交流<br /> <br />第一部分嵌入式系统的引导代码<br />      0.Bootloader<br />  Bootloader(引导加载程序)是系统加电后运行的第一

2010-07-10 17:17:00 687

原创 DCB--今天看的

<br />这两天快考试了,老师崔着交作业。弄了下wince系统。<br /> <br />现在来说说DCB是个什么东东把。我们要了解wince下的驱动开发的一些基本的知识。首先来了解下PDD和MDD,PDD在msdn上是这<br /> <br />样说的:platform-dependent driver (PDD),平台相关的驱动程序。再看remarks:The platform-specific layer of a native <br /> <br />device driver supplied

2010-07-03 20:58:00 949

TMS320C6455 api

6455是64++系列,本文档提供6455处理器的API函数,文档中有函数的详细说明和例程

2011-01-20

linuxshell

从这里开始学习Linux命令,本课程让你更清楚地了解和掌握它。,shell是Linux四个主要部分之一,其实上Shell是一个命令解释器。

2010-04-08

VMwareTools.tar.gz

VMwareTools.tar.gz直接虚拟机安装tools,改善 Virtual Machine 的运行性能,而且可以让 Host OS 和 Guest OS 互通

2010-04-08

空空如也

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

TA关注的人

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