Linux

Linux 引导流程解析

本文主要记录下linux的引导流程(实例采用centOS5.5)。内容主要如下:引导流程、解析下GRUB的作用。一、引导流程1.1主要的流程图如下:1.2每一步的作用1)第一步firmware固件自检,主要是进行CMOS/BIOS对硬件进行POST加电自检,在物理层次上对硬件进行检测是否正常。2)读取硬盘中MBR的BootLoader(自启动程序,Linux下常用的自启动程序是GRUB)。这一步主要的功能是载入内核。3)载入的内核Kernel主要功能是:1

系统 2019-08-12 01:32:55 2577

Linux

linux内核数据结构之链表

linux内核数据结构之链表1、前言最近写代码需用到链表结构,正好公共库有关于链表的。第一眼看时,觉得有点新鲜,和我之前见到的链表结构不一样,只有前驱和后继指针,而没有数据域。后来看代码注释发现该代码来自linux内核,在linux源代码下include/Lish.h下。这个链表具备通用性,使用非常方便。只需要在结构定义一个链表结构就可以使用。2、链表介绍链表是非常基本的数据结构,根据链个数分为单链表、双链表,根据是否循环分为单向链表和循环链表。通常定义定

系统 2019-08-12 01:32:41 2577

Linux

linux下无线网卡解决方案之Ndiswrapper终极使用

下面是一个简单全面的使用NdisWrapper的指南.这是从BeginningUbuntuLinux,SecondEdition中提炼出来的.这份指南是第8章的一部分.该章给出了在Ubuntu下配置硬件(包括网络设备,打印机,扫描仪,3D显卡等等)的详细说明.除了详细介绍怎样安装/删除NdisWrapper驱动,这份3500多字的指南还包括了精确匹配正确的硬件驱动,从Windows驱动文件中提取必要的文件等关键步骤.这些步骤在其他的指南中往往被忽视了,但它

系统 2019-08-12 09:30:02 2576

Linux

Linux常用命令小结

1.磁盘使用情况du-h查看当前用户每个文件的大小,格式化显示du-h--max-depth=1当前各个目录下的总大小du-sh查看总的大小df-h磁盘使用情况iostat-xm3磁盘的读写情况2.VI常用命令esc切换文件读写状态,I键插入,O键追加:q!强制退出:wq保存后退出:x保存后退出G到文件尾部1G到文件首或者gg0行首$行尾ctrl+f向文件尾翻一页ctrl+b向文件首翻一页/patten从光标开始处,向文件尾搜索patten?patten从

系统 2019-08-12 01:33:26 2575

Linux

如何查看linux命令源代码(转自网络)

如何查看linux命令源代码用linux一段时间了,有时候想看看ls、cat、more等命令的源代码,在下载的内核源码中用cscope没能找到,在网上搜索了一下,将方法总结如下:以搜索ls命令源码为例,先搜索命令所在包,命令如下:lpj@lpj-linux:~$whichls/bin/ls用命令搜索该软件所在包,代码如下:lpj@lpj-linux:~$dpkg-S/bin/lscoreutils:/bin/ls从上一步中可以知道ls命令的实现在包core

系统 2019-08-12 01:32:50 2572

Linux

2010年度报告:是谁在编写Linux内核?

Linux开发人员继续以快速的步伐推出新内核,但根据Linux基金会最近发布的一份报告显示,在过去的一年里,新代码的提交步调明显变慢了。该报告还指出,Linux内核开发的杰出贡献者也在发生变化,越来越多的移动开发人员加入到Linux内核开发队伍,这是Linux基金会第三次年度“谁在写Linux”报告(报告PDF下载地址),总结了过去一年来Linux内核的进展情况。根据2010年“谁在写Linux”报告显示,提交给2.6.35内核的代码量比去年发布的2.6.

系统 2019-08-12 01:32:27 2572

Linux

Linux 线程实现机制分析

自从多线程编程的概念出现在Linux中以来,Linux多线应用的发展总是与两个问题脱不开干系:兼容性、效率。本文从线程模型入手,通过分析目前Linux平台上最流行的LinuxThreads线程库的实现及其不足,描述了Linux社区是如何看待和解决兼容性和效率这两个问题的。一.基础知识:线程和进程按照教科书上的定义,进程是资源管理的最小单位,线程是程序执行的最小单位。在操作系统设计上,从进程演化出线程,最主要的目的就是更好的支持SMP以及减小(进程/线程)上

系统 2019-08-29 22:23:04 2571

Linux

Linux下防火墙设置

Linux下开启/关闭防火墙命令1)永久性生效,重启后不会复原开启:chkconfigiptableson关闭:chkconfigiptablesoff2)即时生效,重启后复原开启:serviceiptablesstart关闭:serviceiptablesstop需要说明的是对于Linux下的其它服务都可以用以上命令执行开启和关闭操作。Centos下防火墙配置及关闭执行”setup”命令启动文字模式配置实用程序,在”选择一种工具”中选择”防火墙配置”,然

系统 2019-08-12 01:33:33 2571

Linux

linux消息队列操作

对消息队列的操作无非有以下三种类型:1、打开或创建消息队列消息队列的内核持续性要求每一个消息队列都在系统范围内相应唯一的键值,所以,要获得一个消息队列的描写叙述字,仅仅需提供该消息队列的键值就可以;注:消息队列描写叙述字是由在系统范围内唯一的键值生成的,而键值能够看作相应系统内的一条路经。2、读写操作消息读写操作很easy,对开发者来说,每一个消息都相似例如以下的数据结构:structmsgbuf{longmtype;charmtext[1];};mtyp

系统 2019-08-12 01:33:43 2570

Linux

linux shell 编程需要注意的空格

1、赋值是等号两边不能有空格,为了看清楚我用两个4个空格代表一个空格str=“Hello”会报错,str:commandnotfound,很明显如果有空格str将会被认为是一个命令。str=“Hello”echo$str输出为Hello;2、中括号的使用,在shell中中括号多用于正则表达式,为了与其区分,shell编程中要注意,比如str="Hello"if[$str=="Hello"];thenecho$str;fi还是提醒为没招到命令Hello==H

系统 2019-08-12 01:33:32 2570

Linux

ZevenOS 5.0 发布,德国人的 Linux 发行

ZevenOS5.0发布了,更新软件包括:Linuxkernel3.5,X.Org7.7和PulseAudio2.1、Audacity2.0,Claws-Mail3.8.1,Firefox17,GIMP2.8,Inkscape0.48.下载地址:zevenos5-desktop.iso(700MB).ZevenOS是一份基于Ubuntu的GNU/Linux发行,它的主旨是提供一份快速易用的系统,并带有类似BeOS的用户界面和对老旧硬件的支持。该发行构建于一

系统 2019-08-12 01:32:44 2569

Linux

Linux 下卸载MySQL 5

对于在Linux下通过rpm方式的mysql,我们能够通过移除这些rpm包以及删除项目的文件夹来达到卸载的目的。本文演示了在SUSELinux10下下载MySQL5.5.37。详细见下文。1、环境#OS环境SZDB:~#cat/etc/issueWelcometoSUSELinuxEnterpriseServer10SP3(x86_64)-Kernel\r(\l).#查看已安装的安装包SZDB:~#rpm-qa|grep-imysqlMySQL-devel

系统 2019-08-12 01:32:36 2569

Linux

linux设备驱动开发工具光盘第一版推出

Linux内核开发人员GregKroah-Hartman与FreedomHEC合作推出了第一版的linux设备驱动开发工具光盘.该光盘遵守GPLv2许可协议,你可以自由使用和拷贝。它包含了:1.linux设备驱动程序第三版(LinuxDeviceDrivers,thirdedition).2.linux内核2.6.16.183.大量的linux内核参考文档.另外,Greg希望下一版光盘包括下面内容:1.可方便搜索所有的文档.2.更精致的web页面.3.更多

系统 2019-08-12 01:32:18 2569

Linux

Linux下查看进程打开的文件与打开文件的进程

有许多情况下,我们需要查看一个进程当前打开了哪些文件,反过来我们也希望知道某一个文件正在被哪些进程所读写。在Linux下有许多有用的工具可以帮我们完成这两个工作,下面介绍这两个工具:lsof与fuser。fuserfindfilesorsockets'user格式:fuser[选项]fname-k如果找到打开文件的进程,则发送SIGKILL杀死此进程,通过-i选项,可以为用户提供交互选择-signal用户可以指定使用何种信号去kill进程,如果-k参数指定

系统 2019-08-12 01:33:07 2568

Linux

Puppy Linux 5.4 "Precise" 发布

PuppyLinux是另外一种Linux发行。它的不同之处在于,Puppy是格外的小,然而又充满了特性。Puppy能从64M的存储设备启动,并且,整套系统都能在内存中运行。有很多自启动运行光盘的Linux发行,它们需要不停地从光盘读取数据才能运行,Puppy与它们不一样,Puppy整个装载在内存中。这意味着,所有的应用程序一眨眼的功夫就能启动,并且立即对用户的输入作出响应。PuppyLinux能从flash卡或者是任何的USB存储设备启动(这是flash-

系统 2019-08-12 01:32:45 2568