linux shell学习之路 [内核]

1. 最近有点迷linux 的shell 编程,但是一个人默默的看书,实践 > 感觉快没动力了, 枯燥又无聊,所以写博客啦,把知识分享出来就有动力了^_^;

2. linux 结构:结构就不说了,太多,懒得写,想知道的童鞋自己看书,或者耐心等待后续博文哈,每一篇博文讲的就是linux的部分结构;

3. 内核: linux 内核,顾名思义,是linux最关键的部分,主要分为内存,进程,硬件,软件四个部分;

        3.1 内核-内存管理:

   linux 上内存分为硬盘内存[物理空间]和虚拟内存,其中虚拟内存由linux 根据物理内存和采用的文件系统建立, 类似于这样, 内存结构可以看做是很多内存页面组成的数组或者集合, 内核会维护一个内存页面表,用于记录哪些内存页面存在于物理内存还是虚拟内存;一段内未访问的内存页面会被从物理内存换到交换空间-换出; 需要使用这个被换出的内存页面时, 物理内存将会换出一块内存页面,用来腾出空间--换入;也就是说,linux内存页面的运行都是在物理内存上进行的;
 

 

       3.2  内核-进程

           linux 内建了一个初始化进程[init],  启动时会将初始进程加载进虚拟内存,由它来启动其他进程,所以会出现 kill -9 1 这句命令失效的情况;进程入口在/etc/inittab文件表或者/etc/init.d目录下的脚本通过/etc/rcX.d(X为运行级别)目录下的入口启动, 运行级别使用比较多的有: 1 :单用户模式,一般是root用户登录;  3.: 标准模式,会启动大多数应用程序和服务 ; 5 : 在3的基础上开启图像化的X WINDOWS 允许用户通过桌面图形化工具登录;

     3.3 内核-硬件

linux的设备文件可以看做是一种特殊格式的文件,跟其他数据没有什么区别, 软件要使用硬件,必须加载硬件设备的驱动, linuxy也是一样,;linux加载设备驱动大概两种方式:  1. 预先编译进内核的设备驱动,我们基本用不着; 2. 可插入内核的设备驱动模块,这才是我们常用的;

     1. 设备文件大概有三种格式:
           1.1  字符型: 每次只能处理一个字符,大多数调制调节器和终端都是这种文件格式

           1.2 块文件: 每次处理大量数,比如硬盘;

           1.3 网络设备文件: 用于数据包的接收和发送,比如各种网卡和协同各种常见网络协议的回环设备

     2. linux 会为每个设备建立一个唯一的数值对,包含主设备号和次设备号,每种类似的都会归类于一个 主设备号下面, 可以看做是: 各个主设备号是一个个数组,每个主设备号里面存放各个类似的设备;

      3.4 内核-文件系统

1. linux  需要访问硬盘,就需要将硬盘格式化,然后通过其支持的文件系统访问和读写硬盘;

2. linux 采用虚拟文件系统(Virtaul, file,system,vfs)作为与每个文件系统交互的接口,当每个文件系统都被挂载和使用时,fs将信息都缓存在     内存中;也就是说我们只需要一个公共接口就可以访问各个不同文件系统;

 最后: 这些理论内容暂时就这样吧,对于理论总是提不起多大兴趣,除非有用到,接下来,直接进入shell脚本的使用;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值