实际用户:表示你是谁,谁运行起来,用于标识信息eg:身份证,邀请函身份,非会员有效用户:对某种资源是否具有某种权限,进程可能访问某些资源,普通用户不忍,身份变更才可访问资源例如:在Linux系统下,root用户或普通用户都可以使用passwd命令来修改密码,修改密码主要通过..
分类:
系统相关 时间:
2016-04-08 15:28:50
阅读次数:
236
我们可以通过fork系统调用来处理进程创建的任务。对于进程的创建, 可以sys_clone, sys_vfork,以及sys_fork. 这些系统调用的内部都使用了do_fork.函数。 对于do_fork函数, 会copy tast_struct, 设置内核堆栈, 并且对一些特定的数据结构进行修改 ...
分类:
其他好文 时间:
2016-04-03 23:56:28
阅读次数:
146
1.task_struct的数据结构 1235struct task_struct { 1236 volatile long state; /* -1 unrunnable, 0 runnable, >0 stopped */ 1237 void *stack; 1238 atomic_t usag ...
分类:
系统相关 时间:
2016-04-03 21:55:32
阅读次数:
297
一 关于linux进程概念的补充 关于进程的基本概念这里不多说,把自己的学习所得作一些补充: 1. 在linux内核中,系统最多可以有64个进程同时存在。 2.linux进程包含的关键要素:一段可执行的程序;专用的系统堆栈空间;内核中它的控制块(进程控制块);独立的存储空间。 3. 系统的第一个进程 ...
分类:
系统相关 时间:
2016-04-03 20:20:45
阅读次数:
215
刘畅 原创作品转载请注明出处 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000概述本次实验在MenuOS中加入fork系统调用,并通过GDB的调试跟踪,近距离的观察Linux中进程创建的过程。阅读Linux进程部分的源码,结合起来理解Linux内核创建新进程的过程。Linux中对进程的描述Linux中task_stru...
分类:
系统相关 时间:
2016-04-03 16:07:13
阅读次数:
347
分析fork函数对应的内核处理过程sys_clone,理解创建一个新进程如何创建和修改task_struct数据结构 Linux中创建进程一共有三个函数: fork :创建子进程 vfork:和fork类似 clone:创建线程 进程创建过程: SYSCALL_DEFINE0(fork){ retu ...
分类:
系统相关 时间:
2016-04-03 12:58:43
阅读次数:
291
实验过程 1.github上克隆相应的mengning/menu.git 2.测试menuOS,测试fork直接执行结果 3.配置调试系统,进入gdb调试,利用file linux-3.18.6/vmlinux和target remote:1234来配置加载初始调试环境 4.在linux内核进程创建 ...
分类:
系统相关 时间:
2016-04-03 10:13:42
阅读次数:
207
在讲进程之前先说一下进程的堆栈的吧:
1.进程的堆栈
内核在创建进程的时候,在创建task_struct的同时,会为进程创建相应的堆栈。每个进程会有两个栈,一个用户栈,存在于用户空间,一个内核栈,存在于内核空间。当进程在用户空间运行时,cpu堆栈指针寄存器里面的内容是用户堆栈地址,使用用户栈;当进程在内核空间时,cpu堆栈指针寄存器里面的内容是内核...
分类:
系统相关 时间:
2016-04-01 18:21:14
阅读次数:
251
朱恒志(与最后申请证书的姓名务必一致)+《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 操作系统三大功能: 进程管理(最核心最基础) 内存管理 文件系统 fork系统调用在父进程和子进程各返回一次 子进程中返回的是0 ...
分类:
系统相关 时间:
2016-04-01 14:46:34
阅读次数:
169
《Linux内核分析》第六周学习笔记 进程的描述和创建 郭垚 原创作品转载请注明出处 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 【学习视频时间:1小时 撰写博客时间:2小时】 【学习内容:进程创建的过程、使用g ...
分类:
系统相关 时间:
2016-03-29 23:40:56
阅读次数:
346