自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

密码小仙女

小仙女带你学密码

  • 博客(16)
  • 收藏
  • 关注

原创 信号使用方法

信号基本使用方法信号: 首先计算机是一个很会营造假象的机器,它欺骗每一个进程,线程。使他们误以为自己就是唯一使用资源的进线程,但是者也造成了一个问题,进线程们都变得比较自我,想让他们互相之间通信,或者我们和他们通信就必须使用一些 “手段“ 。向他们发送信号就是一种很好的方法。 首先在LINUX下就有很多信号,当前共有64个其中32,33号信

2015-06-30 12:27:03 622

原创 目标文件ELF

目标文件ELF(Executable Linkable Format)         可执行文件:主流上有两种,PE 和 ELF 。目标文件就是.o文件,它和可执行文件有相似几乎相同的文件结构,所以我们可以将他们两个看成是一种类型的文件,其实库文件就是.o文件,这足以说明它和可执行文件的关系。     ELF文件类型                                   说

2015-06-18 16:24:54 535

原创 散列表

散列表  前几天看《linux内核设计与实现》的时候,发现一个新名词(对于我来说)“散列表”,直接给我看蒙住了,散列表是个什么鬼,于是今天晚上找了本数据结构的书,来学习下散列表这个新东西。      散列表:                   既是一种存储的技术,又是一种查找的技术,也就是说可以用它来查找与存储,不同于一般的存储与查找,一般正常的存储,举个例子一个已经存在的数组,其中

2015-06-16 21:24:28 626

原创 一个程序的编译过程

程序的编译与链接(程序员的自我修养第二章)        程序从源代码到可执行文件一般需要以下的几个步骤:        源代码--------》扫描器-------》记号翻译-----》语法分析-------》语法树------》语义分析器----》语法树(类型确定)-------》源代码优化-----》中间代码--------》代码生成器---------》目标代码-------》目标

2015-06-16 18:31:38 533

原创 汇编语言基础4

汇编语言基础3一个包含多个段的程序:ds寄存器一般存放数据段的段地址,cs:ip这两个寄存器一般存放的是代段的具体地址,es 段一个可以使用的临时存放变量的寄存器,SS:SP一般存放的就是栈的具体地址,前者位栈的段地址后者为栈的偏移地址。一般程序都有代码段,数据段,文本段,我们希望CPU 从代码段读取指令,通过使用栈来对数据段的数据进行修改,那么程序的本质就能够体现了。这个程序

2015-06-15 21:59:47 812

原创 内核同步(死锁等,基础)

内核同步(基础)在访问共享数据的时候必须使用要留意保护共享资源,防止共享资源并发访问。如果发生并发多个线程就可能会交替的修改或者覆盖内存中的数据,而且这种错误不易调试,因为我们并不能确定到底什么时候会发生并发,但是真的有可能发生这种令人恶心的问题。临界区:就是访问和操作共享数据的代码段。多个执行线程并发访问同一个资源通常是不安全的,必须使用原子操作或者锁来保证不要并发。造成并发的原

2015-06-12 11:03:09 482

原创 汇编语言基础3

汇编语言基础3[BX] 和 loop 指令:        ds:段寄存器首先例如:mov ax,[0]                   这句的意思是把cx:[0000]的内容移动到寄存器ax中。                [bx]同样也表示一个内存单元,它的偏移地址在bx处               mov ax,[bx]       将一个内存单元的内

2015-06-11 21:55:57 621

原创 linux内核基础(系统调用,简明)

内核基础(系统调用)在说系统调用之前,先来说说内核是怎么和我们交互的,或者说是怎么和我们产生交集的。首先,内核是用来控制硬件的只有内核才能直接控制硬件,所以说内核很重要,如果内核被控制那么电脑的一切都被控制了,所以我们需要把内核保护起来,所以SHELL 就诞生了,我们绝大多数情况下是在和SHELL 交互,应用程序也运行与SHELL之上,当执行一些进程时,进程会切换进程上下文,这时进程从用户

2015-06-11 17:03:17 739

原创 汇编语言基础2

汇编语言基础(寄存器)首先一个CPU 的结构一般包含运算器,控制器,寄存器,高速缓存,总线等等他们的功能简要来说就是:1.运算器进行信息处理2.寄存器进行信息处理3.控制器控制个种器件进行工作4.内部总线连接各种器件不同的CPU ,寄存器的个数,结构是不相同的。8086有14个寄存器每一个都有一个名字:AX,BX,CX,DX,SI,DI,SP,BP,IP,CS,SS

2015-06-09 17:39:32 744

原创 汇编语言基础1

汇编语言基础1            因为以后应该是要看内核相关的东西,内核百分之二十是用汇编语言写的,不会汇编显然不行,要学的东西还是真多,汇编只是正是走向内核之路的开始,万事开头难,还真是难,下午下载了2.6 和 4.04 的代码显然还是看不懂,那就从基础看把,我至少先搞明白内核是个什么东西,就选择了《linux内核设计与实践》这本书偏向理论,不过现阶段我就是看看内核是什么东西,然后在去看

2015-06-05 20:36:16 661

原创 linux内核基础进程管理(是什么,简明)

内核栈:就是内核进程的栈空间。隐含类型:指数据的物理表示是未知的或不相关的。内存屏障:内存屏障,也称内存栅栏,内存栅障,屏障指令等, 是一类同步屏障指令,使得CPU或编译器在对内存随机访问的操作中的一个同步点,使得此点之前的所有读写操作都执行后才可以开始执行此点之后的操作。大多数现代计算机为了提高性能而采取乱序执行,这使得内存屏障成为必须。 语义上,内存屏障之前

2015-06-05 11:10:10 487

原创 linux下线程

linux下线程线程与进程的关系:之前转载的微信文章,进程与线程的区别已经说得比较清楚了,可以查看之前转载的文章,linux进程与线程的区别。创建一个线程:#include               int pthread_creat(pthread_t * thread,pthread_attr_t * attr,void *(*stat_routine)(void *),

2015-06-05 00:44:16 603

转载 linux进程与线程的区别

最近在看linux系统编程,看到了线程与进程这部分,有些不知所措,实在是难以看出其中的区别,特此转发有关美文一篇,加深理解:http://mp.weixin.qq.com/s?__biz=MjM5MDIzNDQ5MQ==&mid=205544379&idx=2&sn=d61335de549e0015ad9f131600d4eb22&scene=1&key=c468684b929d2be28fa

2015-06-04 14:44:26 421

原创 1003 - Sibonacci Numbers

1003 - Sibonacci NumbersTime Limit: 1s Memory Limit:64MBSubmissions: 2130 Solved: 360 Description As is known to all, the definition of Fibonacci Numbers is: f(1)=1 f(2)=1 f(n)=f(n-1)+f(

2015-06-04 00:39:34 636

原创 1001 - Another A+B

1001 - Another A+BDescriptionGive you an integer a, you are to find two another integers which sum is a.InputMultiply Cases. For each line, there is an Integer a.OutputFor each test case, you sh

2015-06-03 01:07:36 1145

原创 linux进程控制

linux   进程控制  1首先,linux是一个多任务多进程的操作系统,所以必须要讨论进程的控制。进程:进程是一个动态的实体,是程序的一次执行过程,它是操作系统的资源分配的基本单位,简单来说线程和进程区别不大,一个主要的区别就是进程有自己的内存空间,并且占用系统资源。

2015-06-01 01:41:48 504

空空如也

空空如也

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

TA关注的人

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