Linux简述

6人阅读 评论(0) 收藏 举报
分类:

Linux系统组成部分:Linux内核、shell、文件系统和应用程序。

Linux 内核由如下几部分组成:内存管理、进程管理(比较简单的基于优先级的进程调度算法选择新的进程)、设备驱动程序、文件系统和网络管理等。

Linux下面的文件类型主要有:
1) 普通文件:C语言元代码、SHELL脚本、二进制的可执行文件等。分为纯文本和二进制。
2) 目录文件:目录,存储文件的唯一地方。
3) 链接文件:指向同一个文件或目录的的文件。
4) 设备文件:与系统外设相关的,通常在/dev下面。分为块设备和字符设备。
5)管道(FIFO)文件 : 提供进程建通信的一种方式
6)套接字(socket) 文件: 该文件类型与网络通信有关

Linux的磁盘分区:主分区,扩展分区,逻辑分区(从5开始编号)

对于一个磁盘分区来说,在被指定为相应的文件系统后,整个分区被分为 1024,2048 和 4096 字节大小的块。根据块使用的不同,可分为:

超级块(Superblock): 这是整个文件系统的第一块空间。包括整个文件系统的基本信息,如块大小,inode/block的总量、使用量、剩余量,指向空间 inode 和数据块的指针等相关信息。

inode块(文件索引节点) : 文件系统索引,记录文件的属性。它是文件系统的最基本单元,是文件系统连接任何子目录、任何文件的桥梁。每个子目录和文件只有唯一的一个 inode 块。它包含了文件系统中文件的基本属性(文件的长度、创建及修改时间、权限、所属关系)、存放数据的位置等相关信息. 在 Linux 下可以通过 “ls -li” 命令查看文件的 inode 信息。硬连接和源文件具有相同的 inode 。

数据块(Block) :实际记录文件的内容,若文件太大时,会占用多个 block。为了提高目录访问效率,Linux 还提供了表达路径与 inode 对应关系的 dentry 结构。它描述了路径信息并连接到节点 inode,它包括各种目录信息,还指向了 inode 和超级块。

可以用ln命令对一个已经存在的文件再建立一个新的连接,而不复制文件的内容。连接有软连接和硬连接之分,软连接又叫符号连接。它们各自的特点是:
  硬连接:原文件名和连接文件名都指向相同的物理地址。目录不能有硬连接;硬连接不能跨越文件系统(不能跨越不同的分区)文件在磁盘中只有一个拷贝,节省硬盘空间;
  由于删除文件要在同一个索引节点属于唯一的连接时才能成功,因此可以防止不必要的误删除。
  符号连接:用ln -s命令建立文件的符号连接符号连接是linux特殊文件的一种,作为一个文件,它的数据是它所连接的文件的路径名。类似windows下的快捷方式。软链接有着自己的 inode 号以及用户数据块
  可以删除原有的文件而保存连接文件,没有防止误删除功能。

进程 VS 线程
进程:资源管理和分配的基本单位,每个进程都有自己的地址空间。进程由程序代码、代码 相关的数据集和进程控制块(PCB)3 部分组成。
线程:CPU 调度和分派的基本单位,线程是属于进程的,它运行在进程空间内,同一进程所产生的线程共享同一内存空间。每个线程有独立的栈和线程控制块(TCB,包含寄存器的值、 程序计数器、优先级等)。
并发度:两者都可提高并发度
开销:线程执行开销小,但不利于资源管理和保护,进程创建和销毁系统都要分配和回 收资源,开销大。
速度:线程的产生、通信、切换都比较快;
资源利用率:线程的资源利用率好,因为共享数据;
同步:线程使用公共变量和内存时需使用同步机制。
资源:线程不拥有系统资源,但可以使用进程的资源。
适用情况:线程适合在 SMP(多处理器)的机器上运行,进程可跨机器迁移。

gdb调试

查看评论

Linux视频教程

本课程为linux全套系列课程之一--Linux基础入门教程,Linux常用命令和基本用法,课程由浅入深,跟我一起踏上Linux之旅!!!!
  • 2015年05月25日 13:40

Professional Linux Programming

  • 2009年09月23日 16:23
  • 2.64MB
  • 下载

linux动态链接库的开发实例

  • 2011年06月23日 16:08
  • 130KB
  • 下载

简述linux系统的目录结构作用和分区方案

在Windows操作系统中,使用盘符代表独立的文件系统,如C盘,D盘等,没i一个盘符中都会有个根目录,对于这种同一个系统中可以存在多个根目录的目录结构,被称为森林型目录结构。而Linux系统使用树型目...
  • henry115
  • henry115
  • 2012-01-11 11:33:36
  • 1676

ARM Linux从入门到实践简述

  • 2009年08月31日 09:17
  • 1.52MB
  • 下载

Linux发展史简述

Linux是一套开源的操作系统,于1991年10月5日正式对外发布。它继承了Unix以网络为核心思想,是一个性能稳定的多用户网络操作系统。...
  • zhouyudaxian
  • zhouyudaxian
  • 2017-02-27 20:35:09
  • 995

linux启动流程概述

参考:《鸟哥的linux私房菜》 1、BIOS阶段 主板上的BIOS为块flash或EEPROM程序,他会从主板上的CMOS硬件资讯,这些硬件资讯是可以通过BIOS程序修改。、、 BIO...
  • javaUTU
  • javaUTU
  • 2011-11-26 10:44:32
  • 845

Linux发展史简介

GNU与Linux的成长 GNU是自由软件之父 Richard Stallman在1984年组织开发的一个完全基于自由软件的软件体系,与此相应的有一分通用公共许可证(General Public L...
  • xi_weina
  • xi_weina
  • 2011-11-26 20:07:26
  • 4453

bug分类

转载:Linux C编程一站式学习
  • xumuchi_
  • xumuchi_
  • 2014-09-10 16:47:39
  • 294

操作系统原理安全课件PPT

  • 2011年05月04日 16:58
  • 856KB
  • 下载
    个人资料
    专栏达人 持之以恒
    等级:
    访问量: 1万+
    积分: 1421
    排名: 3万+
    博客专栏
    最新评论