Chinaunix首页 | 论坛 | 博客
  • 博客访问: 685528
  • 博文数量: 130
  • 博客积分: 2192
  • 博客等级: 大尉
  • 技术积分: 1410
  • 用 户 组: 普通用户
  • 注册时间: 2009-05-31 15:37
文章分类

全部博文(130)

文章存档

2013年(1)

2012年(4)

2011年(27)

2010年(97)

2009年(1)

分类: 嵌入式

2010-07-08 20:15:00


//==================================================
(磁盘与系统档案管理)
100628_linux_note:

1.自由软件和开源软件的区别:

  自由软件是 stallman 的
  开源是 后来的,是ray。。。

  哲学意味不同,哈哈。前者更强调 free(不是免费 ,是自由,是任意的分发)。后者强调了opensource。是不是前者 更广?

1. ln 源文件 目标文件。

   用ls 命令查看时,有的显示则是: 目标文件 -> 源文件。

2. 磁柱(cylinder)是 磁盘分割(partition)时的最小单位 。

3. 为什么要进行磁盘分割。

   为了操作系统定位 地址。找到起始 与 结束 磁柱。

4. 硬盘的最小存储单位 :sector
   数据存储的最小单位 : block。block是sector的2的n次方

5. superblock 是 每个 partition开始的那个block。

6. inode 用来存放档案的属性 ,和指向数据。数据存放在block里。

100629_linux_note:
7.目录是 和 filesystem 产生对应的 入口点。称那个入口点目录 为 挂载点 (mount point)。

8.df -h /etc :可以看某个目录下 还有多少空间可读。

9.du -sm /* :列出 根目录 个文件夹使用的空间

10.link 命令 。ln


  a.硬链接(hard link):磁盘 和 inode 的数量都不会改变。只是在 某个目录下的block写入一个关联数据,不会 增加block大小。但 block在边界大小除外。

    举例:
    ln AA/a,BB/a   :a 是同一个inode 和block,两个目录记录了关联数据。
   
    另外,ls -l 中 第2项 表示 Number of links Column,指的是 硬链接数目。

    目的: 安全 。
    注意 : 不能跨越 filesystem ,不能link 目录。

  b.软链接(符号链接,symbolic link):ln -s AA/a,BB/b : 快捷方式。会占用 inode 和 block。

//================================================
(认识系统服务dameons)
100702_linux_note:

1.什么是dameon:在背景当中执行的程序
  和 service区别。serviece:主机提供的功能。
  分类:

  standalone: 独立的启动
 
  super dameon :一个统一的dameon来管理。一般叫做xinetd。

xinetd :In computer networking, xinetd, the eXtended InterNET Daemon, is an open-source super-server daemon which runs on many Unix-like systems and manages Internet-based connectivity. It offers a more secure extension to or version of inetd, the Internet daemon.
 

在linux中一些不长期使用的服务(不重要的服务?)没有被作为单独的守护进程在开机时启用,linux 把这些服务监听端口全部由一个独立的进程 xinetd集中监听,当收到相应的客户端请求之后,xinetd进程就临时启动相应服务并把相应端口移交给相应服务,客户端断开之 后,相应的服务进程结 束,xinetd继续监听。要开telnet服务器,只需配置xinetd即可。

//================================================
(套件管理)
100708_linux_note:

1.
如果想看某包是否已经安装:

# dpkg -s gedit

如果想看某软件都有哪些文件,都装到了什么地方:

# dpkg -L gedit


查询软件xxx依赖哪些包 :
#apt-cache depends xxx

参:

//================================================
(认识bash shell)
100708_linux_note:

1. find pathname -options [-print -exec -ok]
   grep [选项]基本正则表达式[文件]
   awk
   sed
   参:
       

//================================================
(课外知识: 回车换行)
1.不同系统回车换行的来历:
  linux:每行结尾只有“<换 行>”,即“\n”
  windows:每行结尾是“<换 行><回车>”,即“\n\r”
  mac:每行结尾是“<回 车>”,即“\r”。

  \n : 0xA, line feed,      简写LF, 换行。
  \r : 0xD, carriage return,简写CR,  回车。
  参:http://www.cnblogs.com/cchyao/archive/2010/07/02/1769706.html
   
http://blog.csdn.net/bjbs_270/archive/2008/02/14/2094376.aspx    Unix 文件格式之迷, 空格、回车换行、tab 转换及其相关工具AAA

//================================================
(开机流程与 loader )
100712_linux_note:

1.开机过程:










2.boot loader 主要的功能如下:

    提供选单:使用者可以选择不同的开机项目,这也是多重开机的重要功能!

    载入核心档案:直接指向可开机的程序区段来开始操作系统;

    转交其它 loader:将开机管理功能转交给其它 loader 负责。

3.一般来说,非必要的功能且可以编译成为模块的核心功能,目前的 Linux distributions 都会将他编译成为模块。 因此 USB, SATA, SCSI... 等磁盘装置的驱动程序通常都是以模块的方式来存在的。 现在来思考一种情况,假设你的 linux 是安装在 SATA 磁盘上面的,你可 以透过 BIOS 的 INT 13 取得 boot loader 与 kernel 档案来开机,然后 kernel 会开始接管系统并且侦测硬件及尝试挂载根目录来取得额外的驱动程序。

问题是,核心根本不认识 SATA 磁盘,所以需要加载 SATA 磁盘的驱动程序, 否则根本就无法挂载根目录。但是 SATA 的驱动程序在 /lib/modules 内,你根本无法挂载根目录又怎么读取到 /lib/modules/ 内的驱动程序?是吧!非常的两难吧!在这个情况之下,你的 Linux 是无法顺利开机的! 那怎办?没关系,我们可以透过虚拟档案系统来处理这个问题。

虚拟档案系统 (Initial RAM Disk) 一般使用的档名为 /boot/initrd ,这个档案的特色是,他也能够透过 boot loader 来加载到内存中, 然后这个档案会被解压缩并且在内存当中仿真成一个根目录, 且此仿真在内存当中的档案系统能够提供一支可执行的程序,透过该程序来加载开机过程中所最 需要的核心模块, 通常这些模块就是 USB, RAID, LVM, SCSI 等档案系统与磁盘接口的驱动程序啦!等载入完成后, 会帮助核心重新呼叫 /sbin/init 来开始后续的正常开机流程。

boot loader 可以加载 kernel initrd ,然后在内存中让 initrd 解压缩成为根目录, kernel 就能够藉此加载适当的驱动程序,最终释放虚拟档案系统,并挂载实际的根目录档案系 统, 就能够开始后续的正常开机流程。更详细的 initrd 说明,你可以自行使用 man initrd 去查阅看看。
阅读(1372) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~