首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | 镜像站
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
Linux资讯 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>linux相关>企业应用>正文

在Linux世界驰骋系列之三——结构和算法

http://www.oklinux.cn  2005-01-01  来源: 赛迪技术天地-开放系统世界  孟庆昌   会员收藏  游客收藏  【 】 

这一讲将深入到Linux内核中探讨其主要结构和算法,主要介绍进程和内存管理,包括进程的结构、对进程的操作、进程调度、Shell基本工作原理、进程通信、请求分页机制和存储交换等。

进程是动态的实体,每个进程在其生存期间会处于不同的状态,对系统中的资源有不同的需求,彼此间会发生直接或间接的联系。因此,系统必须有一套机制记载和管理它们的状态。

进程的结构

1.task_struct结构

Linux系统中每一个进程都包括一个名为task_struct的数据结构,它相当于“进程控制块”。每一个task_struct结构都有一个指针指向它,所有的这种指针组成系统中的一个进程向量数组task,该数组的默认值是512。在创建新进程时,Linux就从系统内存中分配一个task_struct结构,并把它加入task数组。当前正在运行的进程的task_struct结构用current指针指示。

task_struct结构包含下列几方面的信息:

◆进程状态。

◆调度信息。调度算法利用这个信息来决定系统中的哪一个进程需要执行。

◆标识符。系统中每个进程都有惟一的一个进程标识符(PID)。PID并不是指向进程向量的索引,仅仅是一个数字而已。每个进程同时还包括用户标志符(UID)和用户组标识符(GID),用来确定进程对系统中文件和设备的存取权限。

◆内部进程通信。Linux系统支持信号、管道、信号量等内部进程通信机制。

◆链接信息。在Linux系统中,每个进程都和其它进程存在联系。除初始化进程外,每个进程都有父进程。该链接信息包括指向父进程、兄弟进程和子进程的指针。

◆时间和计时器。内核要记录进程的创建时间和进程运行所占用CPU的时间。Linux 系统支持进程的时间间隔计时器。

◆文件系统。进程在运行时可以打开和关闭文件。task_struct结构中包括指向每个打开文件的文件描述字的指针,并且包括两个指向VFS(虚拟文件系统)索引节点的指针。第一个索引节点是进程的根目录,第二个节点是当前的工作目录。两个VFS索引节点都有一个计数字段用来指向节点的进程数。

◆虚拟内存。大多数进程都使用虚拟内存空间。Linux系统必须了解如何将虚拟内存映射到系统的物理内存。

◆处理器信息。每个进程运行时都要使用处理器的寄存器及堆栈等资源。当一个进程挂起时,所有有关处理器的内容都要保存到进程的task_struct中。当进程恢复运行时,所有保存的内容再装入到处理器中。

共17页: 上一页 1 [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] 下一页

上一篇:Linux教研环境应用 构建安全实验室   下一篇:如何实现Linux防火墙让远程办公有安全


收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·如何实现Linux防火墙让远程办公有安全
·Linux教研环境应用 构建安全实验室
·旧招新用:afio让Linux也“Ghost”
·向左走向右走 当邮政业“遇上”Linux
·实现基于LDAP的用户管理 挑战记忆极限
·Linux技巧:怎样利用Putty连接Linux主机
·技术入门:怎样用Linux实现组播路由转发
·TCO的较量——Linux与SOA的悄然整
·支持J2EE的应用协作
·在Linux世界驰骋系列之二——Shell编程
·借助sniffer诊断Linux网络故障(一)
·企业应用指南:Linux上的MRTG监控中心
·借助sniffer诊断Linux网络故障(二)
·Linux揭开USB主机设计的神秘面纱
·
·Telnet到SMTP Server发邮件
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·Linux服务器ADSL下利用NAT实现上网共享
·RHEL5系统下配置YUM源的方法
·OpenSUSE系统下使用SAMBA建立文件服务
·Linux服务器维护 统计连接数查看外部IP
·Linux系统邮件服务器的搭建过程解析
·详细解析:在CentOS下安装配置VNC的过
·系统管理:基于Linux的负载均衡技术介
·SUSE Linux系统下用SAMBA建立文件服务
·Linux系统服务器的存储空间巧妙管理
·RedHat Linux 5系统下使用远程桌面环境
·Linux系统下搭建SNORT入侵检测系统
·将Linux设置成Cisco路由器的日志服务器
  阅读排行
·Linux世界驰骋四——文件系统和设备管
·邮件系统的选型与架构专题(上篇)
·在Linux世界驰骋系列之二——Shell编程
·
·
Linux世界驰骋五——Linux常用实用工具
·深入OpenOffice.org之二应用XML文件格
·手把手教您配置Liunx目录服务器
·向左走向右走 当邮政业“遇上”Linux
·Linux系统可卸载内核模块完全指南(下
·邮件系统的选型与架构专题(下篇)
·图解红旗Linux 4.0桌面系统的安装(图
·Linux系统可卸载内核模块完全指南(中
·深度分析:Linux正在走出发展低潮
·深入探讨Linux与微软在桌面上的较量
·详解Linux安全管理的基本技巧
网摘收藏: