![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
操作系统
文章平均质量分 52
DIY-GEEKER
若有恒,何必三更眠五更起;最无益,莫过一日曝十日寒
展开
-
jpegsrc.v6b.tar.gz,gd-2.0.33.tar.gz,libiconv-xxxx.tar.gz,libpng-xxxx.tar.gz安装方法
jpegsrc.v6b.tar.gz安装方法# tar -zxvf jpegsrc.v6b.tar.gz# cd jpeg-6b# ./configure --prefix=/usr/local/jpeg6 --enable-shared# make# mkdir /usr/local/jpeg6# mkdir /usr/local/jpeg6/incl转载 2012-10-05 21:17:37 · 2365 阅读 · 0 评论 -
数据缓冲区高速缓冲区学习总结1
转载:http://blog.chinaunix.net/uid-20729583-id-1884567.html下面所分析是linux早期内核的缓冲区结构,这里仅仅是为了用来了解缓冲区的基本应用,对于目前的2.6内核有着很大的区别,但是,从这里可以逐步地对linux内核进行深入学习。这里仅仅是一个简单的介绍。 一个缓冲头结构中标志了对应缓冲块的相关性质,采用缓冲头结构组来对转载 2014-02-08 10:12:07 · 2101 阅读 · 2 评论 -
linux 系统裁剪,教你怎样用虚拟机裁剪一个小系统
linux这种开放性的架构对于计算机界来说是相当重要的,因为很多人由于特殊的要求,需要修改自己的系统,使系统符合自己的要求。怎样裁剪一个小系统以备自己的不时之需,那就先了解一下linux的启动流程吧。我这里是以我当前的系统为例,我用的是CentOS 6.4的版本。 linux的系统启动流程: POST-->BIOS(boot Sequence)-->MBR(boot loader转载 2014-03-06 23:42:17 · 2931 阅读 · 0 评论 -
安装黑苹果先判断你的电脑硬件是否有驱动支持
这几天又被某些事勾起了对MAC系统的折腾,无奈一直没有真正的MAC,只能拿普遍PC或笔记本电脑来安装,这就是所谓的安装黑苹果。以前在自已的HP 5310M上安装完黑苹果后,因为缺少驱动最后放弃。今天发现有一个工具可以先检查硬件是否有驱动,再决定安装。这东西不错,推荐。一、首先下载检查硬件黑苹果兼容性的专用软件:System infoWindows平台下载MacOsX平台下载转载 2014-04-30 14:57:34 · 24516 阅读 · 1 评论 -
黑苹果完美安装,媲美 iMac, 省下来的钱可以去买大波罗了。
也还不错,是philips 22寸的,花了我一千大洋。屏幕大,可以左边xcode,右边模拟器。性能强劲,散热好(保持在50-60度),哎,去年专配来打山口山的。还有些别人会出现的什么睡眠,关机问题一律没有。配这款机器时,电脑城的笑我怎么这么配,我说为了兼容mac系统。我也不懂他在笑啥,不过板子确实小点。安装教程从零开始图文详解Win7下原版Lion制转载 2014-04-30 15:11:54 · 8889 阅读 · 0 评论 -
安装黑苹果目前最详细教程
最详细,最适合新手的教程:如何原版安装mac从windows到mac os(安装黑苹果目前最详细教程,嘿嘿,自封)最近网上有不少如何安装苹果系统的教程,个人感觉都不错,但是有些地方还是不够详细,所以我决定写一个比较详细的教程。鉴于网上有不少类似的教程,所以我的这个安装方法中有不少是借鉴和总结他们的,在此不一一提出,但是对这些作者表示感谢和崇高的敬意。本教程较长,不要因此以为苹果的安装比较复转载 2014-04-30 15:15:09 · 22900 阅读 · 0 评论 -
例解gcc内嵌汇编(inline assembly)中&修饰符(modifier)的作用
转自:http://blog.csdn.net/bokee/article/details/7029353被gcc内嵌汇编中的&修饰符困扰了好久,一直不知道在输出列表(output list)中,=与=&有什么区别。今天找到了答案。 例1: int output; int a, b, c, d, e, f转载 2014-04-03 23:06:53 · 884 阅读 · 0 评论 -
简单的递归
理解递归第概念,关键在于对堆栈的理解。原创 2014-05-10 21:54:35 · 665 阅读 · 0 评论 -
epoll和select区别
转http://blog.csdn.net/ysu108/article/details/7570571先说下本文框架,先是问题引出,然后概括两个机制的区别和联系,最后介绍每个接口的用法一、问题引出 联系区别问题的引出,当需要读两个以上的I/O的时候,如果使用阻塞式的I/O,那么可能长时间的阻塞在一个描述符上面,另外的描述符虽然有数据但是不能读出来,这样实时性不能满足要转载 2014-05-13 01:44:16 · 715 阅读 · 0 评论 -
linux系统调用和库函数调用的区别
Linux下对文件操作有两种方式:系统调用(system call)和库函数调用(Library functions)。可以参考《Linux程序设计》(英文原版为《Beginning Linux Programming》,作者是Neil Matthew和Richard Stones)第三章: Working with files。系统调用实际上就是指最底层的一个调用,在linux程序设计里面就是底转载 2014-05-12 23:38:56 · 874 阅读 · 0 评论 -
系统的移植小感
首先,很多的系统,本身就已经考虑了移植的问题。比如h原创 2014-08-17 13:46:30 · 705 阅读 · 0 评论 -
windows xp sp3序列号
最新的windows xp sp3序列号(绝对可通过正版验证) MRX3F-47B9T-2487J-KWKMF-RPWBY(工行版) 可用(强推此号) QC986-27D34-6M3TY-JJXP9-TBGMD(台湾交大学生版) 可用 CM3HY-26VYW-6JRYC-X66GX-JVY2D 可用 DP7CM-PD6MC-6BKXT-M8JJ6-RPXGJ 可用 F429原创 2014-10-12 14:48:36 · 1331 阅读 · 0 评论 -
僵死进程
僵死进程简而言之就是:子进程退出时,父进程并未对其发出的SIGCHILD信号进行适当处理,导致子进程停留在僵死状态等待其父进程为其收尸,这个状态下的子进程就是僵死进程。在fork()/execve()过程中,假设子进程结束时父进程仍存在,而父进程fork()之前既没安装SIGCHLD信号处理函数调用waitpid()等待子进程结束,又没有显式忽略该信号,则子进程成为僵死进程,无法正常结束,原创 2015-03-19 14:11:25 · 595 阅读 · 0 评论 -
成为Linux内核高手的四个方法
本文由 伯乐在线 - haofly 翻译自 Julia Evans。欢迎加入技术翻译小组。转载请参见文章末尾处的要求。(之前我在CUSEC网站发表了关于内核并不可怕的一篇文章,本文是后续。)我曾经问别人如何开始内核编程的学习,他们基本上都说:①如果你不需要了解内核是如何为你工作的,你为何要尝试呢?②你应该订阅Linux内核邮件列表,然后努力去理解。③如果你不去编写针对Lin转载 2014-01-08 19:59:43 · 608 阅读 · 0 评论 -
backtrace函数的原理
大家可以看到,被调用函数当前帧指针指向调用函数的帧指针的值,而帧指针的上一个地址(ebp+4)正好是被调用函数的返回地址,依次往上找,就可以找出对应进程的调用关系。原创 2013-12-22 17:36:06 · 2793 阅读 · 0 评论 -
bochs 安装 有感
这个坑我好久时间。不过我没有放弃。终于安装好了。因为我相信自由软件,所以死活都想要把它搞好,这个信仰比安装软件本身重要的多。后续还有有很多困难,但是相信都会最终搞定的。。。目前正在学习操作系统。推荐这个软件给所有 学习操作系统的同学。。原创 2013-03-23 01:20:37 · 678 阅读 · 0 评论 -
提供机制而不是策略
Unix/Linux的接口设计有一句通用的格言“提供机制而不是策略”。区别对待机制(mechanism)和策略(policy)是Unix设计中的一大亮点。大部分的编程问题都可以被切割成两个部分:“需要提供什么功能”(机制)和“怎样实现这些功能”(策略)。如果由程序中的独立部分分别负责机制和策略的实现,那么开发软件就更容易,也更容易适应不同的需求。 开源-展现在我们面前的是数以千转载 2013-11-29 15:59:09 · 1123 阅读 · 0 评论 -
代码的一致性
之所以出现这个定义是因为系统要安全:内核要和用户程序分开.内核一定要安全.不能被用户程序干涉.但是有时候用户程序也需要读取内核的某些数据,怎么办呢?于是os将内核程序开辟一些可以供用用户程序访问的段.但是不允许用户程序写入数据.1.内核不用知道用户程序的数据.内核不用调用用户程序的数据.内核不用转移到用户程序中来.2.用户程序只能访问到内核的某些共享的段.我们称这些段为一致代码段转载 2013-12-29 11:55:13 · 1793 阅读 · 0 评论 -
linux中为何没有网卡设备文件
这个问题其实没有什么意思,知道了问题的答案能表明一个人技术水平有多高吗?不能!这个问题有答案以及有意义吗?答案都是没有!那我还为何一直对这 个问题死死揪住不放?这类问题可以提高一个人的素质以及了解一段关于网络和unix的历史,正是因为这些都很有趣,才如此值得关注。 在 unix中,一切io相关的实体都被抽象成了文件,之所以抽象成文件第一是为了接口统一,第二是为了操作统一,第三是为了策转载 2013-12-29 20:52:53 · 2548 阅读 · 0 评论 -
boot.s 段限长设置
01 ! boot.s 程序02 ! 首先利用BIOS中断把内核代码(head代码)加载到内存0x10000处,然后移动到内存0处。03 ! 最后进入保护模式,并跳转到内存0(head代码)开始处继续运行。04 BOOTSEG = 0x07c0 ! 引导扇区(本程序)被BIOS加载到内存0x7c00处。05 SYSSEG = 0x1000 ! 内核(head)先加载到0x10000处,然后原创 2013-12-31 16:15:57 · 921 阅读 · 0 评论 -
特权级0的代码到特权级3代码的转移之IRET指令
由 于处于特权级0的代码不能直接把控制权转移到特权级3的代码中执行,但中断返回操作是可以的,因此当初始化GDT、IDT和定时芯片结束后,我们就利用中 断返回指令IRET来启动第1个任务。具体实现方法是在初始堆栈init_stack中人工设置一个返回环境,即把任务0的TSS段选择符加载到任务寄存 器LTR中、LDT段选择符加载到LDTR中以后,把任务0的用户栈指针(0x17:init_stack)和原创 2013-12-31 22:11:13 · 2043 阅读 · 0 评论 -
进程最大可访问的虚拟内存空间
在linux0.12中,进程最大可访问的虚拟内存空间是64M.这是明确写了的。但是cpu并没有提供这种机制来定义一个进程的虚拟地址空间啊。那么是如何实现对进程虚拟地址空间的定义的? cpu至于定义段的基地址以及段限长。因此我认为内核肯定是将一个任务的放到一个段中,这种段的基地址必然是64M对齐的,而且段的长度 不能超过64M。 这只是我的个人猜测,内核的源代码还原创 2014-01-01 16:01:29 · 1446 阅读 · 0 评论 -
对 LSS init_stack,%esp 语句的分析
转自http://blog.csdn.net/tonutu/article/details/3268321LSS init_stack,%esp . . . .file 128,4,0init_stack:转载 2013-12-31 17:16:59 · 1175 阅读 · 0 评论 -
.globl伪操作符
.globl伪操作符用于定义随后的标号标识符是外部的或全局的,并且即使不使用也强制引入。那么,什么叫做即使不使用也强制引入?不解! 强制加入,那么又强制加入了什么符号呢?是最基本的.text,.data,.bss吗?原创 2014-01-02 10:19:40 · 852 阅读 · 0 评论 -
软中断
软中断一般是指由指令int引起的“伪”中断动作——给CPU制造一个中断的假象;而硬中断则是实实在在由8259的连线触发的中断。因此,严格的讲,int与IRQ毫无关系,但二者均与中断向量有关系。int引起的中断,CPU是从指令中取得中断向量号;而IRQ引起的中断,CPU必须从数据线上取回中断号(硬件引发中断首先加到8259的某个IRQ引脚上,8259根据定义好的规则换算出相应的中断向量号,将其放在数转载 2013-12-19 16:41:01 · 4326 阅读 · 0 评论 -
pc or cs:ip ?
其实这是不同平台下的不同叫法。在x86上叫做ip;在arm下叫做pc,即R15.在X86上不能直接给IP赋值,可以通过jmp来改变它的值。而ARM上可以通过LDR直接对PC赋值。原创 2013-12-19 19:42:45 · 1398 阅读 · 0 评论 -
内核阶段学习总结
其实之前就已经认真的读过《深入理解计算机系统》,尽管这本书已经写得非常的实用详细,但是一切总归是理论。没有代码,一切都如空中楼阁,不切实际。只有到最近阅读赵炯来时的《linux内核完全解析》,书中对代码的注释非常详细,对操作系统才有了质的的理解。于是有深深的感悟到,没有阅读源代码的学习是痛苦而没有成效的。于是有非常渴望看《linux内核源代码情景分析》。 不过这个不能急,毕竟软件是时间性非常强原创 2014-01-03 22:09:28 · 842 阅读 · 1 评论 -
【Linux学习】pthread_create主线程与创建的新线程之间退出关系
我们在一个线程中经常会创建另外的新线程,如果主线程退出,会不会影响它所创建的新线程呢?下面就来讨论一下。 1、 主线程等待新线程先结束退出,主线程后退出。正常执行。实例代码:[cpp] view plaincopyprint?#include "apue.h" #include pthread_转载 2015-03-24 10:43:43 · 888 阅读 · 0 评论