
Linux_System
文章平均质量分 72
北冥
这个作者很懒,什么都没留下…
展开
-
Linux核心源代码简介
核心源码的顶层是/usr/src/linux目录子目录:(1)arch这个子目录包含了所有体系结构相关的核心代码。它还包含每种支持的体系结构的子目录,如i386。 系统启动与初始化在基于intel的系统上,Linux可以通过loadlin.exe或者LILO将核心载入内存并将控制传递给它。这部分程序 位于arch/i386/kerneld/head.S。此文件完原创 2013-03-29 09:48:59 · 2188 阅读 · 0 评论 -
LINUX系统性能调谐
1. 引言实践证明Linux是高性能、稳定可靠而又相当灵活的操作系统,近年来,世界上许多大软件公司纷纷推出各种Linux服务器系统及Linux下的应用软件。目前,Linux已可以与各种传统的商业操作系统分庭抗礼,在服务器市场,占据了相当大的份额。Linux的服务器系统多种多样,可用作web服务器,邮件服务器,ftp服务器,文件服务器以及数据库服务器等等。针对不同的系统以及具体的应用环境,可以对转载 2013-03-25 15:40:23 · 626 阅读 · 0 评论 -
Linux 文件系统剖析
基本的文件系统体系结构Linux 文件系统体系结构是一个对复杂系统进行抽象化的有趣例子。通过使用一组通用的 API 函数,Linux 可以在许多种存储设备上支持许多种文件系统。例如,read 函数调用可以从指定的文件描述符读取一定数量的字节。read 函数不了解文件系统的类型,比如 ext3 或 NFS。它也不了解文件系统所在的存储媒体,比如 AT Attachment Packet Inte转载 2013-03-25 16:07:16 · 420 阅读 · 0 评论 -
Linux 网络栈剖析
协议简介虽然对于网络的正式介绍一般都参考了 OSI(Open Systems Interconnection)模型,但是本文对 Linux 中基本网络栈的介绍分为四层的 Internet 模型(如图 1 所示)。图 1. 网络栈的 Internet 模型这个栈的最底部是链路层。链路层是指提供对物理层访问的设备驱动程序,这可以是各种介质,例如串口链路或以太网设备。链路层上面是转载 2013-03-25 16:18:18 · 425 阅读 · 0 评论 -
硬链接与软链接的联系与区别
简介: 硬链接与软链接是 Linux 文件系统中的一个重要概念,其涉及文件系统中的索引节点 (index node 又称 inode),而索引节点对象是 Linux 虚拟文件系统 (VFS) 的四个基本概念之一。通过剖析硬链接与软链接的联系与区别,我们可更好的了解 Linux 中 VFS 这一通用文件模型。并让 Linux 普通用户和系统管理员正确使用硬链接与软链接,帮助文件系统开发者获取 ino转载 2013-03-25 18:54:24 · 690 阅读 · 0 评论 -
Linux加载程序GRUB和LILO配置示例
前言:PCs 的引导过程:当 PC 启动时,BIOS (Basic Input Output Service) 会执行一个自检。当机器通过自检时,BIOS 会加载 Master Boot Record(或 MBR,通常位于引导驱动器的第一个 512 字节扇区)。引动驱动器通常是系统上的第一个硬盘驱动器,但也可以是一个磁盘、CD 或 USB 密匙。对于硬盘驱动器,MBR 加载一个阶段原创 2013-03-26 11:16:02 · 1663 阅读 · 0 评论 -
理解 Linux 配置文件-分类和使用
什么是系统配置文件?内核本身也可以看成是一个“程序”。为什么内核需要配置文件?内核需要了解系统中用户和组的列表,进而管理文件权限(即根据权限判定特定用户(UNIX_USERS)是否可以打开某个文件)。注意,这些文件不是明确地由程序读取的,而是由系统库所提供的一个函数读取,并被内核使用。例如,程序需要某个用户的(加密过的)密码时不应该打开/etc/passwd 文件。相反,程序应该调用系统库转载 2013-03-26 15:19:50 · 523 阅读 · 0 评论 -
BIOS 和 EFI 平台启动光盘的制作
Legacy BIOS boot 介绍及启动光盘制作Legacy BIOS boot 介绍首先了解一下 Legacy BIOS 如何启动或引导。当系统首次引导时,或系统被重置时,处理器会执行一个位于已知位置处的代码。这个位置在基本输入 / 输出系统(BIOS) 中,它保存在主板上的闪存中。CPU 会调用这个重置向量来启动一个位于闪存 /ROM 中的已知地址处的程序。通常,它执行转载 2013-03-26 09:27:34 · 2830 阅读 · 0 评论 -
Linux 进程管理剖析—— 创建、管理、调度和销毁
Linux 是一种动态系统,能够适应不断变化的计算需求。Linux 计算需求的表现是以进程 的通用抽象为中心的。进程可以是短期的(从命令行执行的一个命令),也可以是长期的(一种网络服务)。因此,对进程及其调度进行一般管理就显得极为重要。在用户空间,进程是由进程标识符(PID)表示的。从用户的角度来看,一个 PID 是一个数字值,可惟一标识一个进程。一个 PID 在进程的整个生命期间不会更改,但转载 2013-03-26 15:52:17 · 549 阅读 · 0 评论 -
Linux 时钟处理机制
1 计算机系统中的计时器在计算机系统中存在着许多硬件计时器,例如 Real Timer Clock ( RTC )、Time Stamp Counter ( TSC ) 和 Programmable Interval Timer ( PIT ) 等等。这部分内容不是本文的中点,这里仅仅简单介绍几种,更多内容参见参考文献:Real Timer Clock ( RTC ):独立转载 2013-03-26 15:58:15 · 480 阅读 · 0 评论 -
linux服务简介-关闭不需要的Linux服务
Linux服务(Linux services)对于每个应用Linux的用户来说都很重要。关闭不需要的服务,可以让Linux运行的更高效,但并不是所有的Linux服务都可以关闭。今天安装了一次CentOs Linux,发现Linux启动的时候启动了好多服务,大部分都不知道是干什么的。因此着重了解了一下那些Linux服务(Linux services)可以关闭,那些Linux服务(Linux se转载 2013-04-10 11:42:44 · 1054 阅读 · 0 评论 -
如何在安装Linux之后自己修改Swap分区大小
1。你有尚未分配的硬盘空间,把它创建成交换分区,加到/etc/fstab中 2。否则,如果你的以分区磁盘中有空闲空间,那么创建交换文件,命令mkswap 3.否则,重装 你的内存如果超过256兆,可以不要交换分区---测试试境为RH AS4假如您不清楚swap到底是什么,或分区的概念,那么下面的过程对您来讲可能会有一定的风险。自己扩大Swap也是比较原创 2013-03-28 01:00:12 · 1144 阅读 · 0 评论 -
献给新手,如何阅读Linux源码(转)
常常有人问:我想学习内核,需要什么基础吗?Linus Torvalds本人是这样回答的:你必须使用过Linux。 这个……还是有点太泛了吧,我想下面几个基础可能还是需要的,尽管不一定必需:1, 关于操作系统理论的最初级的知识。不需要通读并理解《操作系统概念》《现代操作系统》等巨著,但总要知道分时(time-shared)和实时(real-time)的区别是什么,进程是个什么东西转载 2013-04-11 16:10:59 · 744 阅读 · 0 评论 -
Make Linux faster and lighter
With just a few tweaks, your Linux box can be lighter, sprightlier and quicker than ever before. Read on for the best ways to speed up your boot sequence, optimise KDE and Gnome, and get better perfor转载 2013-04-11 22:11:48 · 1556 阅读 · 0 评论 -
块设备、字符设备
块设备就是以块(比如磁盘扇区)为单位收发数据的设备,它们支持缓冲和随机访问(不必顺序读取块,而是可以在任何时候访问任何块)等特性。块设备包括硬盘、CD-ROM 和 RAM 盘。字符设备与块设备相对的是字符设备,字符设备没有可以进行物理寻址的媒体。字符设备包括串行端口和磁带设备,只能逐字符地读取这些设备中的数据。原创 2013-03-25 15:50:29 · 719 阅读 · 0 评论 -
Linux 引导过程内幕---从主引导记录到第一个用户空间应用程序的指导
早期时,启动一台计算机意味着要给计算机喂一条包含引导程序的纸带,或者手工使用前端面板地址/数据/控制开关来加载引导程序。尽管目前的计算机已经装备了很多工具来简化引导过程,但是这一切并没有对整个过程进行必要的简化。让我们先从高级的视角来查看 Linux 引导过程,这样就可以看到整个过程的全貌了。然后将回顾一下在各个步骤到底发生了什么。在整个过程中,参考一下内核源代码可以帮助我们更好地了解内核源代转载 2013-03-25 16:31:52 · 618 阅读 · 0 评论 -
Linux实用的主要数据结构
block_dev_struct此结构用于向核心登记块设备,它还被buffer cache实用。所有此类结构都位于blk_dev数组中。struct blk_dev_struct { void (*request_fn)(void); struct request * current_request; struct request plug;转载 2013-03-29 10:08:45 · 815 阅读 · 0 评论 -
Bash
2.1. Bash的用户交互接口Bash的用户接口也就是我们经常说的字符界面,这是我们与系统交互的主要环境,我们可通过这个接口管理我们的系统。在系统引导时,第一个需要运行的进程是init,由init再衍生出一个getty终端进程,该进程打开一个终端窗口,提供标准输入、标准输出和标准错误。然后执行程序/bin/login,login程序提示输入密码,加密并验证密码。通过验证后系统转载 2013-03-29 11:20:05 · 731 阅读 · 0 评论 -
Linux Shortcuts and Commands:
This is a practical selection of the commands we use most often. Press to see the listing of all available command (on your PATH). On my small home system, it says there are 2595 executables on my PA转载 2013-03-29 12:33:06 · 641 阅读 · 0 评论 -
Debian系统配置文件说明
在Debian系统中有很多的配置文件,这些配置文件都很重要,控制着系统和应用程序的运行。下面记录这些配置文件的存放位置、作用和配置参数,以便我们在系统维护中能快速定位和配置这些文件。11.1. /etc/passwd、/etc/shadow和/etc/group这三个配置文件用于系统帐号管理,都是文本文件,可用vi等文本编辑器打开。/etc/passwd用于存放转载 2013-03-29 12:24:11 · 2176 阅读 · 0 评论 -
Linux进程间通讯机制
5.1 信号信号是Unix系统中的最古老的进程间通讯方式。它们用来向一个或多个进程发送异步事件信号。信号可以从键盘中断中产生,另外进程对虚拟内存的非法存取等系统错误环境下也会有信号产生。信号还被shell程序用来向其子进程发送任务控制命令。系统中有一组被详细定义的信号类型,这些信号可以由核心或者系统中其它具有适当权限的进程产生。使用kill命令(kill -l)可以列出系统中所有已经转载 2013-03-29 09:12:58 · 594 阅读 · 0 评论 -
Linux进程间通信之信号量
Linux进程间通信包括管道、消息队列、System V等等,其中System V包括三种:信号量、消息队列、共享内存,这里只简单介绍信号量机制。 在Linux编程中,要运用信号量实现互斥操作,用户空间需要调用几个系统调用,如下是一个用户空间例子。 #include #include #include #include #define SEMKEY 12转载 2013-03-30 20:40:51 · 627 阅读 · 0 评论 -
Linux系统日志的组成
主要的日志子系统: 1.连接时间日志--由多个程序执行,把记录写入到/var/log/wtmp和/var/run/utmp,login等程序更新wtmp和utmp文件,使系统管理员能够跟踪谁在何时登录到系统。 2.进程统计--由系统内核执行。当一个进程终止时,为每个进程往进程统计文件(pacct或acct)中写一个纪录。进程统计的目的是为系统中的基本服务提供命令使用统计。 3.错转载 2013-03-30 20:41:02 · 793 阅读 · 0 评论 -
Linux中配置网络环境
在linux中配置网络环境主要有三种方法: (1)使用setup进入配置环境来配置网络; (2)使用ifconfig来配置网络 (3)直接修改底层网络配置文件 以下是详细的实现方法: 方法1:通过setup配置网络 (1)用root身份登录,然后使用setup命令进入menuconfig,如图1所示 图1 (2)转载 2013-03-30 20:38:58 · 820 阅读 · 0 评论 -
Linux下如何修改终端提示符
PS1变量简介 PS1是Linux终端用户的一个环境变量,用来说明命令行提示符的设置。 可以使用 man bash命令查看bash手册,找到该变量支持的特殊字符,以及这些特殊字符的意义: \d:#代表日期,格式为weekday month date,例如:"Mon Aug 1" \H:#完整的主机名称。 \h:#仅取主机的第一个名字,如上例,则为fc4,.linux则转载 2013-03-30 20:41:12 · 1079 阅读 · 0 评论 -
Linux一句话精彩问答
进入“linux一句话精彩问答2009年04月16日PDF版下载”页面编者按:鉴于目前中国Linux的发展现状,90%以上的问题都可以用一句话来回答,这便是本文的初衷。欢迎大家添加自己的“一句话”,收录后注明原始提供者。更详细的文档,请浏览http://linux.chinaunix.net或http://www.linuxpk.com-----------------------转载 2013-03-30 20:45:47 · 10504 阅读 · 0 评论 -
一个比较好的命名管道例子
下面这个例子使用FIFO进行进程间的通信,程序lucy.c创建了FIFO write_fifo用于向程序peter.c发送消息;peter.c程序创建了FIFO read_fifo用于向lucy.c发送消息同时,lucy.c能够通过打开peter.c创建的FIFO来得到的peter.c发来的消息,peter.c能够通过打开lucy.c创建的FIFO来得到lucy.c发来的消息。因此两者就能转载 2013-03-30 20:48:21 · 1288 阅读 · 0 评论 -
Linux优化配置
这里要说的优化,主要指性能上的。优化是针对自己硬件,针对自己需求来做的,因此不存在适合所有人的优化方法。以我的机器为例,结合Ubuntu讲述。 CPU: AMD AM2 Athlon64 X2 3600+ RAM: DDRII 800 512M * 2 DISK: SATA2 250G 8M§加快启动速度 如果你常常使用大量的原创 2013-03-28 00:59:25 · 494 阅读 · 0 评论 -
Linux启动文件
一般可以放在/etc/rc.d/rc.local文件中(rpm系统用来给用户自己配置自需的启动项目的,deb的系统中可以在/etc/init.d/下自己创建启动项目(RPM的系统中也可以) Bash和TCshell中的一些启动文件 如下: /etc/profile 登录时,自动执行 ~/.bash_profile, ~/.bash_login, ~/.profile 登录时自动原创 2013-03-25 15:33:11 · 623 阅读 · 0 评论 -
我的VIM配置(ubuntu)
前几天有位谦虚的高人让我贴一下我的vim配置,就在这里贴一下好了,001set nocp "设置兼容002set expandtab "设置tab003set shiftwidth=4 "设置tab的间隔004set tabstop转载 2013-04-14 19:40:04 · 1371 阅读 · 0 评论