- 博客(154)
- 资源 (1)
- 收藏
- 关注
转载 Makefile
概述什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写makefil
2009-01-04 17:16:00
3241
转载 程序的链接和装入及Linux下动态链接的实现
级别: 初级王勇 (yongwang@buaa.edu.cn), 北京航空航天大学计算机学院系统软件实验室2003 年 8 月 10 日程序的链接和装入存在着多种方法,而如今最为流行的当属动态链接、动态装入方法。本文首先回顾了链接器和装入器的基本工作原理及这一技术的发展历史,然后通过实际的例子剖析了Linux系统下动态链接的实现。了解底层关键技术的实现细节对系统分析和设计人员无疑是必须
2008-11-03 15:30:00
2875
转载 Linux2.6 内核的 Initrd 机制解析
级别: 初级李 大治 (dazhi.li@gmail.com), 软件工程师2006 年 5 月 23 日Linux 的 initrd 技术是一个非常普遍使用的机制,linux2.6 内核的 initrd 的文件格式由原来的文件系统镜像文件转变成了 cpio 格式,变化不仅反映在文件格式上, linux 内核对这两种格式的 initrd 的处理有着截然的不同。本文首先介绍了什么是 in
2008-10-28 15:15:00
2452
转载 IA32寄存器
IA32寄存器IA32作为80x86系列中的一员,必须保证向后兼容,也就是说,既要支持16位的处理器,也要支持32位的处理器。在8086中,所有的寄存器都是16位的,下面我们来看一下IA32中寄存器有何变化:把16位的通用寄存器、标志寄存器以及指令指针寄存器扩充为32位的寄存器段寄存器仍然为16位。增加4个32位的控制寄存器增加4个系统地址寄存器增加8个调式寄存器增加2个测试寄存器1、通用寄存器8
2008-10-25 10:38:00
5156
转载 简述x86寻址演变
简述x86寻址演变我们知道,操作系统是一组软件的集合。但它和一般软件不同,因为它是充分挖掘硬件潜能的软件,也可以说,操作系统是横跨软件和硬件的桥梁。因此,要想深入解析操作系统内在的运作机制,就必须搞清楚相关的硬件机制——尤其是内存寻址的硬件机制。操作系统的设计者必须在硬件相关的代码与硬件无关的代码之间划出清楚的界限,以便于一个操作系统很容易地移植到不同的平台。Linux的设计就做到了这点,它把与硬
2008-10-23 20:54:00
2668
原创 Linux常用命令
cdchkconfig(--list,--add,--del)chmodcpio(-idco)diffinsmodlsmodlspcimkdir(-p)modprobenetconfigpatchscpsetupsystem-config-XXXtar(-zjxf)uname (-a)wget
2008-10-19 22:34:00
2413
转载 linux内核编译
作者:保云你可以转载或修改除附录之外的任意部分1. 前言 在我写这篇文章的时候,还是一个linux的初学者,经历了n次失败后的成功当然是兴奋的,于是很想把她写下来。 我的操作系统是Redhat9,其内核版本为2.4.20-8 ,需要升级到2.4.26,采用全新的2.4.26内核源码进行升级,主要的参考资料是《The Linux
2008-10-19 22:07:00
3080
转载 Grub命令索引
Grub命令索引本文转帖自 http://grub4dos.sourceforge.net/grubcmd_ch.htm感谢作者及翻译者=========================================background 设置图形模式下的背景色。blocklist 输出文件的块清单标记。boot 引导已加载的操作系统或扇区链式加载器。bootp 通过BOOTP初试化网络设备
2008-10-16 22:20:00
2615
转载 在bochs上运行grub引导盘镜像文件
1、安装和配置bochs(版本号:2.3)bochs的源代码可以从其官方网站http://bochs.sourceforge.net免费下载,该网站有详尽的文档,下载的压缩包解压后也包含相同的文档。解压后进入bochs-2.3目录,里面有一个configure文件,用于配置bochs的安装。基于调试操作系统的考虑,我选择调试和反汇编选项:cd ~/bochs-2.3./configure --en
2008-10-16 21:50:00
7224
转载 fstab的理解与e2label
fstab的理解与e2label作为系统配置文件,fstab通常都位于/etc目录下,它包括了所有分区和存储设备的信息,以及它们应该挂载到哪里,以什么样子的方式挂载。/dev/sda9 swap swap defaults 0 0LABEL=/ / ext3 defaults 1 1LABEL=/boot /boot ext3 defaults 1 2第1列:设备名,问题来了,LA
2008-10-14 21:48:00
5616
转载 vi使用
vim 使用技巧作者: camry.wu@gmail.com我是 vim 粉丝, 用了许久, 有一些自己的感受, 又到处挖到一些别人的技巧. 感觉对 vim粉丝比较有用, 就把它记在这儿. 希望借此文套出大家自己的巧活, 就正应了抛砖引玉的古话了.先稍为介绍一下 vim. vi 是 unix/linux 下极为普遍的一种文本编辑器, 大部分机器上都有. vi 有各种变种, 在不同的机器上常用不同
2008-10-10 15:32:00
2596
转载 AT&T汇编语言语法
1.Register Reference 引用寄存器要在寄存器号前加百分号%,如“movl %eax, %ebx”。 80386 有如下寄存器:[1] 8 个32-bit 寄存器 %eax,%ebx,%ecx,%edx,%edi,%esi,%ebp,%esp;( 8 个16-bit 寄存器,它们事实上是上面8 个32-bit 寄存器的低16 位:%ax,%bx,%cx,%dx,%di,%si,%
2008-10-09 21:22:00
4705
1
转载 GRUB入门教程
GRUB入门教程==============================目录:1. 教程提示2. GRUB 基础3. 安装 GRUB4. 使用 GRUB5. GRUB 内幕6. 总结==============================第一章 教程提示我应该学习这门教程吗?本教程向您显示如何安装和使用 GRUB (Grand Unified Boot Loader)。就像 LILO
2008-10-06 22:23:00
2551
转载 Linux内核源代码中的汇编语言代码
Linux内核源代码中的汇编语言代码任何一个用高级语言编写的操作系统,其内核源代码中总有少部分代码是用汇编语言编写的。主要是关于中断与异常处理的底层程序,还有就是与初始化有关的程序以及一些核心代码中调用的公用子程序。用汇编语言编写核心代码中的部分代码,大体上处于如下几个方面的考虑:(1)操作系统内核中的底层程序直接与硬件打交道,需要用到一些专用的指令,而这些指令在C语言中并无对应的语言
2008-10-02 22:43:00
4808
转载 Linux系统启动的基本过程和步骤
Linux系统启动的基本过程和步骤: 第一阶段:BIOS启动引导阶段:在该过程中实现硬件的初始化以及查找启动介质; 从MBR中装载启动引导管理器(GRUB)并运行该启动引导管理第二阶段:GRUB启动引导阶段;装载stage1 装载stage1.5 装载stage2 读取/boot/grub.conf文件并显示启动菜单; 装载所选
2008-10-01 22:09:00
2986
转载 在Windows下删除Linux系统的方法
在删除Linux分区前,我们需要将启动Windows的引导信息写入MBR,否则,MBR中的Linux引导信息,当然就不能启动Windows系统了。1、将Windows的引导信息写入MBR将Windows的安装盘放入计算机以后,重启计算机,进入Windows安装程序,随后,进入恢复控制台,输入命令fixmbr即可。2、删除Linux分区 最后一件事情,就是删除Linux所在的
2008-10-01 21:21:00
3436
转载 硬盘主引导记录(MBR)及其结构详解
硬盘的0柱面、0磁头、1扇区称为主引导扇区,FDISK程序写到该扇区的内容称为主引导记录(MBR)。该记录占用512个字节,它用于硬盘启动时将系统控制权交给用户指定的,并在分区表中登记了的某个操作系统区。 1.MBR的读取 硬盘的引导记录(MBR)是不属于任何一个操作系统,也不能用操作系统提供的磁盘操作命令来读取它。但我们可以用ROM-BIOS中提供的INT13H的2号功能
2008-10-01 21:14:00
16405
5
转载 一台机器上多操作系统安装原理
一、基本概念 主引导记录(Master Boot Record,MBR):512字节,位于硬盘的第一个扇区;可存放一小段程序及主分区表。 扩展引导记录(Extended Boot Record,EBR):512字节,位于扩展分区的第一个扇区,存放逻辑分区信息。 分区引导区(Partition Boot Record,PBR):512字节,位于每个非扩展主分区及每个逻辑
2008-09-27 00:11:00
4140
转载 BIOS与CMOS区别
1、BIOS是什么? 所谓BIOS,实际上就是微机的基本输入输出系统(Basic Input-Output System),其内容集成在微机主板上的一个ROM芯片上,主要保存着有关微机系统最重要的基本输入输出程序,系统信息设置、开机上电自检程序和系统启动自举程序等。 BIOS的功用: BIOS ROM芯片不但可以在主板上看到,而且BIOS管理功能如何在很大程度上决定了主板性能
2008-09-26 23:23:00
2540
转载 CMOS
CMOS 在计算机领域,CMOS常指保存计算机基本启动信息(如日期、时间、启动设置等)的芯片。有时人们会把CMOS和BIOS混称,其实CMOS是主板上的一块可读写的RAM芯片,是用来保存BIOS的硬件配置和用户对某些参数的设定。CMOS可由主板的电池供电,即使系统掉电,信息也不会丢失。CMOS RAM本身只是一块存储器,只有数据保存功能。而对BIOS中各项参数的设定要通过专门的程序。BI
2008-09-26 22:49:00
3039
转载 实例解说 fdisk 使用方法
实例解说 fdisk 使用方法作者:北南南北来自:LinuxSir.Org提要:fdisk 是一款功能强大的分区工具,也是目前在Unix类操作系统中最流行的工具之一;分区工具老字号;本篇只介绍其最简单的分区操作功能; 一、fdisk 的介绍;fdisk - Partition table manipulator for Linux ,译成中文的意思是磁盘分区表操作工具;本人译的不太好,也没有看中文
2008-09-25 13:47:00
604
转载 合理规划您的硬盘分区
合理规划您的硬盘分区作者:北南南北来自:LinuxSir.Org提要:对于一个硬盘(包括移动存储设备)如何规划分区结构及如何划分才是比较合理的;为了减少由于硬盘划分不合理而造成的风险及不必要的麻烦,有必要重述如何对一个硬盘的分区结构进行规划; +++++++++++++++++++++++++++++++++++++++++++++正文+++++++++++++++++++++++++++++++
2008-09-25 13:26:00
766
1
转载 系统调用
1、什么是系统调用 系统调用,顾名思义,说的是操作系统提供给用户程序调用的一组“特殊”接口。用户程序可以通过这组“特殊”接口来获得操作系统内核提供的服务,比如用户可以通过文件系统相关的调用请求系统打开文件、关闭文件或读写文件,可以通过时钟相关的系统调用获得系统时间或设置定时器等。 从逻辑上来说,系统调用可被看成是一个内核与用户空间程序交互的接口——它好比一个中间人,把用户进程的请求传达
2008-09-17 21:39:00
830
转载 我理解的逻辑地址、线性地址、物理地址和虚拟地址(补充完整了)
要过年了,发个年终总结贴,只是个人理解,不包正确哈。本贴涉及的硬件平台是X86,如果是其它平台,嘻嘻,不保证能一一对号入座,但是举一反三,我想是完全可行的。一、概念物理地址(physical address)用于内存芯片级的单元寻址,与处理器和CPU连接的地址总线相对应。——这个概念应该是这几个概念中最好理解的一个,但是值得一提的是,虽然可以直接把物理地址理解成插在机器上那根内存本身,把内存看成
2008-09-17 13:50:00
882
转载 高级shell编程技巧
高级shell编程技巧1、深入讨论当shell看到的时候,它就会知道下一个词是一个分界符。在该分界符以后的内容都被当作输入,直到shell又看到该分界符(位于单独的一行)。这个分界符可以是你所定义的任何字符串。该命令的一般形式为:command textword2、shell 工具2.1 创建保存信息的文件任何脚本都应该能够创建临时文件或日志文件。在运行
2008-09-11 22:53:00
1524
转载 基础shell编程
基础shell编程1、shell脚本介绍一个shell脚本可以包含一个或多个命令。当然可以不必只为了两个命令就编写一个shell脚本,一切由用户自己决定。1.1、使用shell脚本的原因shell脚本在处理自动循环或大的任务方面可节省大量的时间,且功能强大。1.2、脚本内容脚本不是复杂的程序,它是按行解释的。脚本第一行总是以#!/bin/sh开始,这段脚本通知shell使用
2008-09-11 20:56:00
2081
1
转载 登录环境
登录环境1、登录环境登录系统时,在进入命令提示符前,系统要做两个工作。键入用户名和密码后,系统检查是否为有效用户,为此需查询/etc/passwd文件。如果登录名正确并且密码有效,开始下一步过程,即登录环境。在进行下一步处理之前,先看看文件/etc/passwd。这是一个文本文件,可以任意修改其中的文本域,但要小心。此文本有7个域,并用冒号作分隔符,第1域是登录名,第2域是加密
2008-09-08 21:24:00
1123
转载 ASCII码
ASCII码大致可以分作三部分組成。 第一部分由 00H 到 1FH 共 32 个,一般用来通讯或作为控制之用,有些字符可显示于屏幕,有些则无法显示在屏幕上,但能看到其效果(例如换行字符、归位字符)。0-31对应的按键:^@、^A——^Z、^[、^/、^]、^^、^_第二部分是由 20H 到 7FH 共 96 个,这 95 个字符是用来表示阿拉伯数字、英文字母大小写和底线、括号等
2008-09-07 21:22:00
797
转载 文本过滤
文本过滤1、正则表达式介绍当从一个文件或命令输出中抽取或过滤文本时,可以使用正则表达式,正则表达式是一些特殊或不很特殊的字符串模式的集合。系统自带的所有大的文本过滤工具在某种模式下都支持正则表达式的使用,并且还包括一些扩展的元字符集。基本元字符集及其含义:^ 只只匹配行首$ 只只匹配行尾* 只一个单字符后紧跟*,匹配0个或多个此单字符[ ] 只匹配[ ]内字符。
2008-09-07 21:18:00
3166
1
转载 shell 原理
1、进程在Unix术语中,一个可执行程序是一个机器指令及其数据的序列,一个进程是程序运行时的内存空间和设置。进程存在于用户空间,用户空间是存放运行的程序和它们的数据的一部分内存空间。就像管理磁盘的多个文件,内核管理内存中的多个进程,为它们分配存储空间,并记录内存分配情况。Unix系统中的内存分为系统空间和用户空间,进程存在于用户空间。建立一个进程时,内核要找到存放程序指令和数据的空闲内存页。内核还
2008-08-31 17:43:00
7324
转载 后台执行命令
后台执行命令当你在终端或控制台工作时,可能不希望由于运行一个作业而占住了屏幕,因为可能还有更重要的事情要做,比如阅读电子邮件。对于密集访问磁盘的进程,你可能希望它能够在每天的非负荷高峰时间段运行。为了使这些进程能够在后台运行,也就是说不在终端屏幕上运行,有几种选择方法可供使用:设置crontab文件,并用它来提交作业。使用at命令来提交作业。在后台提交作业。使用nohup命令提交作业。名词解释:
2008-08-30 01:14:00
2127
转载 使用find和xargs
使用find和xargs有时可能需要在系统中查找具有某一特征的文件(例如文件权限、文件属主、文件长度、文件类型等等)。find是一个非常有效的工具,它可以遍历当前目录甚至于整个文件系统来查找某些文件或目录。find命令的一般形式为:find pathname -options [-print -exec -ok]让我们来看看该命令的参数:pathname find命令所查找的目录路径。例如用.来表
2008-08-29 23:12:00
626
转载 文件安全与权限
一个文件一经创建,就具有三种访问方式:读,可以显示该文件的内容。写,可以编辑或删除它。执行,如果该文件是一个shell脚本或程序。按照所针对的用户,文件的权限可分为三类:文件属主,创建该文件的用户。同组用户,拥有该文件的用户组中的任何用户。其他用户,即不属于拥有该文件的用户组的某一用户1、文件当你创建一个文件的时候,系统保存了有关该文件的全部信息,包括:文件的位置,文件类型,文件长度,哪位用户拥有
2008-08-29 22:27:00
787
转载 svn在linux下的使用(svn命令)
1、将文件checkout到本地目录svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/domain 简写:svn co2、往版本库中添加新的文件 svn add file 例如:svn add test.php(添加test.php) svn add *.php(添加当前目录下
2008-08-06 11:45:00
494
转载 socket编程原理
socket编程原理1、问题的引入UNIX系统的I/O命令集,是从Maltics和早期系统中的命令演变出来的,其模式为打开一读/写一关闭(open-write-read-close)。在一个用户进程进行I/O操作时,它首先调用“打开”获得对指定文件或设备的使用权,并返回称为文件描述符的整型数,以描述用户在打开的文件或设备上进行I/O操作的进程。然后这个用户进程多次调用“读/写”以传输数据。当所
2008-08-04 13:12:00
518
转载 端口
说到端口,这确实是个老话题,但一切都是从它开始的,不得不说。何谓端口,打个比方,你住在一座房子里,想让别人来拜访你,得在房子上开个大门,你养了个可爱的小猫,为了它的进出,专门给它修了个小门,为了到后花园,又开了个后门……所有这些为了进到这所房子里而开的门叫端口,这些为了别人进来而开的端口称它为“服务端口”。 你要拜访一个叫张三的人,张三家应该开了个允许你来的门--服务端口,否则将被拒之门外。去时
2008-07-29 17:27:00
637
转载 例解 autoconf 和 automake 生成 Makefile 文件
例解 autoconf 和 automake 生成 Makefile 文件文档选项 <!--document.write(将此页作为电子邮件发送);//--> 将此页作为电子邮件发送未显示需要 JavaScript 的文档选项
2008-07-29 16:51:00
528
原创 Linux下mysql安装
安装mysql一、rpm包安装rpm -ivh mysql-.rpmrpm -ivh mysql-server-.rpmrpm -ivh mysql-devel-.rpm二、源代码安装1. Download MySQL source code from www.mysql.com/downloads2. Detar it with something like:tar xvfz mysql-
2008-07-29 15:30:00
981
转载 GDB使用
1、启动程序在命令行下输入" gdb ",可直接进入gdb调试程序。然后通过" file "可以将所要调试的程序加载到gdb中。 在命令换下输入" gdb "可直接启动gdb并加载目标文件。 2、设置断点设置断点是调试程序的重要手段。程序会在断点处停止执行,然后开发人员就可以检查当前程序运行的上下文信息,或是进行单步执行。 break function 在某个函数入口处
2008-07-23 13:34:00
1958
转载 GNU make 和 makefile
GNU make 和 makefile GNU make makefile 基本结构 makefile 变量 GNU make 的主要预定义变量 隐含规则 makefile 范例 运行 make 1.9.1 GNU make 在大型的开发项目中,通常有几十到上百个的源文件,如果每次均手工键入 gcc 命令进行编译的话,则会非常不方便。因此,人们通常利用 make 工具来自动完成编译工
2008-07-23 13:17:00
666
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人