默认情况下安装了IIS服务器角色的Windows系统,其80端口就被占用了。但是占用80端口的进程却不是WWWService更不是IISAdminSevice,而是处于kernel地位的Http.sys。通过命令netstat-ano可以轻易发现占用80端口的是PID为4的System进程。该进程是WinodwsNT系统的内核进程的别名。..
Linux系统进程管理简谈进程是什么?
简单来说进程是一个正在执行的程序的一个副本,存在生命周期,有段指令和代码在不断运行。linux内核存储信息的固定格式:taskstruct进程的相关信息存储在链表中多个任务的taskstruct组件的链表:tasklist进程的创建:父进程创建子进程(内核..
分类:
系统相关 时间:
2016-07-12 23:37:45
阅读次数:
1000
一、概括 系统启动架构图: 上图在Android系统-开篇中有讲解,是从Android系统启动的角度来分析,本文是从进程/线程的视角来分析该问题。 1.1 父进程 在所有进程中,以父进程的姿态存在的进程(即图中的浅红色项),如下: kthreadd进程: 是所有内核进程的父进程 init进程 : 是 ...
分类:
移动开发 时间:
2016-07-01 13:30:16
阅读次数:
851
Linux 进程间通信(IPC)
说明:首先要声明一点,我接下来要写的都针对在面试的时候被问的一些详解
1、为什么要有进程间通信?
解析:因为进程间通信主要是强调在不同的进程间交换数据,而数据的交换必须依靠内核来实现,任何一个进程的全局变量在另一个进程中都是看不见的,所以内核开辟了一块缓冲区,进程A将数据放入内核,进程B从内核将数据取走,就实现了进程间通信
2、进程间通信有几种通信...
分类:
系统相关 时间:
2016-06-28 13:02:39
阅读次数:
201
1、进程、轻量级进程、线程、线程组之间的关系 2、及它们的标识相关说明 一、进程、轻量级进程、线程、线程组之间的关系 借助上图说明: 进程P0有四条执行流,即线程, 主线程t0是它的第一个线程,且与进程P0相关联, 之后衍生出t1、t2、t3三个线程,这三个线程与轻量级进程P1、P2、P3一一关联, ...
分类:
编程语言 时间:
2016-06-26 16:36:40
阅读次数:
194
一 内存管理 默认情况下,运行在Linux系统上的每个进程都有各自的内存页面;进程不能访问其他进程正在使用的内存页面。 内核维护着自己的内存区域 用户进程不能访问内核进程的内存 可以创建一些共享内存页面,多个进程可在同一块共用内存区域进行读取和写入操作;内核负责维护和管理这块共用内存区域并控制每个进 ...
分类:
系统相关 时间:
2016-06-22 01:36:48
阅读次数:
199
上一篇说到进程调度归根结底是调用timer_interrupt函数,在system_call.s中: 前面一堆push指令保存当前的寄存器,然后在ret_from_sys_call中弹出。 movl $0x10,%eax把段选择子0x10也就是内核数据段选择子赋值给eax,然后再赋给ds、es; 然 ...
分类:
系统相关 时间:
2016-06-18 23:55:58
阅读次数:
328
首先看main.c里的初始化函数main函数里面有个函数是对进程调度的初始化,sched_init()函数,次函数在sched.c中实现: 首先初始化任务0的TTS,FIRST_TSS_ENTRY为4,表示在描述符表的索引是4。因为gdt是desc_struct类型为8个字节,刚好是一个描述符的长度 ...
分类:
系统相关 时间:
2016-06-18 21:11:06
阅读次数:
424
1:top命令查看一下系统的cpu ram swap的使用情况 由上图分析,可以看出共有602个进程,其中有601个进程休眠了。这好像有点不对劲,内核进程也就80个左右,加上memcached, nginx, mysqld,也不会超出90个。除了这些,剩下的只有php-fpm管理的php-cgi,难 ...
分类:
Web程序 时间:
2016-06-08 13:58:23
阅读次数:
231
http://www.cnblogs.com/hazir/tag/kernel/ Linux 内核进程管理之进程ID Linux 内核使用 task_struct 数据结构来关联所有与进程有关的数据和结构,Linux 内核所有涉及到进程和程序的所有算法都是围绕该数据结构建立的,是内核中最重要的数据结 ...
分类:
系统相关 时间:
2016-05-29 16:28:52
阅读次数:
312