Linux内核分析(四)----进程管理|网络子系统|虚拟文件系统|驱动简介
原文:Linux内核分析(四)----进程管理|网络子系统|虚拟文件系统|驱动简介

Linux内核分析(四)

两天没有更新了,上次博文我们分析了linux的内存管理子系统,本来我不想对接下来的进程管理子系统、网络子系统、虚拟文件系统在这个阶段进行分析的,但是为了让大家对内核有个整体的把握,今天还是简单的介绍一下剩余的几个子系统,我们对这几个子系统的分析,只要了解其作用和部分内容即可,不必深究,等我们写上几个驱动,到时候按照驱动再来分析这几个子系统我们就清晰多了。

在http://www.cnblogs.com/wrjvszq/p/4257164.html一文我们提到过linux由七个部分构成,最重要的四个子系统是内存管理子系统、进程管理子系统、网络子系统、虚拟文件系统、上次我们已经对内存管理子系统进行了分析(谈不上分析,只是个简单了解)。

所以今天我们会分析到以下内容:

1.      Linux进程管理子系统

2.      Linux网络子系统

3.      虚拟文件系统

4.      Linux设备驱动简介

Linux进程管理子系统

在进程管理中最重要的就是进程的调度和进程的通信下面我们一一分析。

1.       进程调度

进程调度使得多个进程增长CPU中“微观串行,宏观并行”的进行执行。进程调度处于系统的中心位置,内核中其他子系统都依赖于它。

a)      进程调度意义

进程调度使得多个进程增长CPU中“微观串行,宏观并行”的进行执行。进程调度处于系统的中心位置,内核中其他子系统都依赖于它。

b)      进程的状态切换

Linux的进程在几个状态间进行切换,如下图展现了其切换关系。

c)      进程调度策略

Linux中常见的有以下

1)    SCHED_OTHER 分时调度策略。

2)    SCHED_FIFO实时调度策略,先到先服务

3)    SCHED_RR实时调度策略,时间片轮转

2.       进程通信

Linux支持进程间的多种通信机制,可以通过这些通信机制进行多个进程、多资源的互斥访问、进程间的同步和消息传递。

a)      linux进程间通信方式

1)        管道:分为有名管道(用于同一系统间的任意进程)和无名管道(用于父子进程)

2)        信号量

3)        信号

4)        消息队列

5)        共享内存

6)        套接字(socket)

Linux网络子系统

Linux网络子系统提供了对各种网络标准的存取和各种硬件的支持。下图是其整体结构。其可以分为协议层和网络驱动程序,其中网络协议主要负责实现每一种可能的网络传输协议,而网络驱动程序负责与硬件通信。

Linux虚拟文件系统

Linux虚拟文件系统(VFS)隐藏了各种硬件的具体细节,为所有的设备提供了统一的接口,它是对各种文件系统的一个抽象,其实使用超级块super block存放文件系统相关信息,使用索引节点inode存放文件的物理信息,使用目录项dentry存放文件的逻辑信息,其整体架构如下。

Linux设备驱动简介

上面的介绍很简单,仅仅是对这些子系统的概念什么的进行了简介,下面我们对linux设备驱动进行简单介绍。

1.       设备驱动分类

Linux分为下面三种基本设备。

a)      字符设备

是一种按照字节来访问的设备,字符设备适用于大多数的简单硬件。常见的LED、按键等

b)      块设备

是一种以块(通常为512字节)为最小访问单位的设备,常见的硬盘、SD卡等。但在linux中对块没有大小限制,可以访问任意数目的字节。

c)      网络设备

用来负责发送和接收报文的设备,比如网卡。

今天的简单分析就先到这里,我以后会慢慢的伴随着驱动的开发去分析内核,感谢大家的关注。

 

posted on 2015-02-12 09:14 NET未来之路 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/lonelyxmas/p/4287323.html

Linux内核分析(四)----进程管理|网络子系统|虚拟文件系统|驱动简介相关推荐

  1. Linux内核学习008——进程管理(四)

    Linux内核学习007--进程管理(四) 进程家族树 Unix系统的进程之间存在一个明显的继承关系,所有的进程都是PID为1的init进程的后代.内核在系统启动的最后阶段启动init进程,然后ini ...

  2. linux 进程管理 ppt,Linux内核结构与进程管理.ppt

    Linux内核结构与进程管理.ppt Linux 内核结构与进程管理,Linux系统结构Linux kernel 开放源代码的linux操作系统内核,目前版本为2.6,Linux内核组成1. 进程调度 ...

  3. linux内核笔记二 进程管理

    三.系统的进程管理 1.系统的进程运转方式 系统时间 (jiffies 系统滴答) cpu内部有一个RTC(系统的定时器),会在上电的时候调用mktime函数算出1970年一月一日0时开始到当前开机点 ...

  4. Linux内核机制总结进程管理之SMP调度(六)

    文章目录 1 SMP调度 1.1 进程的cpu亲和性 1.2 对调度器的拓展 1.3 期限调度类的cpu负载均衡 1.4 实时调度类的cpu负载均衡 1.5 公平调度类的cpu负载均衡 1.6 迁移线 ...

  5. linux内核——3_(进程管理)系统的进程管理

    作者:GWD 时间:2019.7.28 一.系统的进程的运转方式 1.系统时间:(jiffies系统滴答):CPU内部有一个RTC,会在上电的时候调用mktime函数算出从1970年1月1日0时开始到 ...

  6. 【Linux 内核笔记】进程管理

    文章目录 进程创建 进程终结 孤儿进程 小结 clone()-fork()-exec()-exit() 子进程结束ZOMBIE 父进程wait4() 进程描述符task_struct进程所有信息 由t ...

  7. linux 内核参数 max_map_count 进程可拥有的虚拟内存区域数量 简介

    max_map_count 文件包含限制一个进程可以拥有的VMA(虚拟内存区域)的数量. 虚拟内存区域是一个连续的虚拟地址空间区域. 在进程的生命周期中,每当程序尝试在内存中映射文件,链接到共享内存段 ...

  8. 孟宁的Linux内核分析,Linux内核分析-MOOC小结

    Linux内核分析课程小结 目录: 在学习内核时一定要不断动手实验,才能更好的理解内核中的运作,之后才能学以致用. Linux内核分析(孟宁老师)课件列表: 短短几周过去了,但是内核学习却才开始... ...

  9. Linux内核分析(三)----初识linux内存管理子系统

    原文:Linux内核分析(三)----初识linux内存管理子系统 Linux内核分析(三) 昨天我们对内核模块进行了简单的分析,今天为了让我们今后的分析没有太多障碍,我们今天先简单的分析一下linu ...

  10. Linux内核源码分析《进程管理》

    Linux内核源码分析<进程管理> 前言 1. Linux 内核源码分析架构 2. 进程原理分析 2.1 进程基础知识 2.2 Linux进程四要素 2.3 进程描述符 task_stru ...

最新文章

  1. Eclipse打包工具 FatJAR
  2. CHANGE_DOCUMENT
  3. ubuntu 下使用mysql
  4. 可惜Java中没有yield return
  5. 浏览器安全与MSAA
  6. Linux中变量 #, @, 0, 1, 2, *,$$,$?的含义
  7. php中的三元运算符
  8. Linux下C编程入门
  9. 监控摄像头GB28181转RTMP、FLV、HLS、RTSP多种格式实现网页嵌入播放
  10. 计算机辅助制造期末试题答案,西工大《计算机辅助制造》期末试题2006-2007A答案.doc...
  11. Nii切片->2D ndarray灰色图->PIL灰色图->PIL RGB彩色图
  12. 广州行键CRM客户关系管理系统
  13. 浅淡风月 一些有意思的文章
  14. java jui_急求用带jui界面写的java聊天程序!!!
  15. FileZilla查看站点隐藏文件
  16. 华硕的主板装的服务器系统改win7,华硕主板win10改win7系统怎么操作
  17. jq多选按钮值_jQuery实现获取选中复选框的值实例详解
  18. 在cmd命令中写oracle语句
  19. mysql 查询和修改组合_别崩溃,来看这个MySQL全面瓦解:子查询和组合查询
  20. 误操作“chmod -R 777 / ”怎么办,不慌听我讲解

热门文章

  1. 【CF585-div2:D】Ticket Game(博弈)
  2. 【Wannafly挑战赛14 E】无效位置(并查集思想+线性基合并)
  3. curl语句导入到Postman
  4. URLSession实现iTunes搜索听歌
  5. linux 安裝 curl的 dev 包,R包:RCurl和curl包在Linux上安装失败
  6. 决策树C4.5算法的不足
  7. HashMap与ConcurrentHashMap的底层原理
  8. python traceback报错_怎么屏蔽Python Traceback错误信息
  9. 建模大师怎么安装到revit中_用协同大师完成Revit协同工作的教程详解
  10. “按字典序输出方案” 解决方法