广东省高校质量工程建设网站,wordpress升级后编辑器没有,一般个人网址是什么,什么网站好进程和程序的区别
程序是静态的#xff0c;它是保存在磁盘上的指令的有序集合#xff0c;没有任何执行的概念进程是一个动态的概念#xff0c;它是程序执行的过程#xff0c;包括了动态创建、调度和销毁的整个过程 并行#xff1a;在 cpu 多核的支持下#xff0c;实现物…进程和程序的区别
程序是静态的它是保存在磁盘上的指令的有序集合没有任何执行的概念进程是一个动态的概念它是程序执行的过程包括了动态创建、调度和销毁的整个过程 并行在 cpu 多核的支持下实现物理上的同时执行 并发有限的 cpu 核芯的情况下 ,利用快速交替(时间片轮转)执行来达到宏观上的同时执行 每个任务执行的时间是由时间片来决定的 时间片将一段时间分成多等份 eg1s/10001微秒 Linux 进程管理
在 Linux 系统中管理进程使用树型管理方式。 每个进程都需要与其它某一个进程建立父子关系对应的进程叫做父进程。Linux 系统会为每个进程分配id ,这个id作为当前进程的唯一标识当进程结束则会被回收。进程的id与父进程的id分别通过getpid()与getppid()来获取
进程空间的分配 用户空间的分配 stack : 存放非静态的局部变量heap : 动态申请的内存.bss : 未初始化过的全局变量包括初始化为0的,未初始化过的静态变量(包括初始化为0).data : 初始化过并且值不为0的全局变量,初始化过的不为0静态变量.rodata : 只读变量字符串之类.text : 程序文本段包括函数符号常量 内核态的转换 当用户进程需要通过内核获取资源时会切换到内核态运行此时当前进程会使用内核空间的资源 用户需要切换到内核态运行时,主要是通过系统调用算法 虚拟地址 : 虚拟地址并不代表真实的内存空间,而是一个用于寻址的编号 物理地址 : 是指内存设备中真实存在的存储空间的编号 操作系统通过调用MMU式的虚拟地址与物理地址建立映射关系 直接访问物理地址,会导致地址空间没有隔离,很容易导致数据被修改通过虚拟地址空间可以实现每个进程空间都是独立的操作系统会映射到不用的物理地址区间在访问时互不干扰. 进程的堆栈大小 Linux下进程栈的默认大小是8M可以通过 ulimit -s查看 堆的大小理论上大概等于进程虚拟空间大小-内核虚拟内存大小Linux下进程的高位1G留给内核低位3G留给用户所以进程堆大小小于3G。 最大进程数在Linux下通过ulimit -u查看系统的最大进程数 进程状态管理 进程状态分为三个基本状态即运行态就绪态阻塞态。在五态模型中进程分为新建态、终止态运行态就绪态阻塞态 三态模型 运行(running)态进程占有处理器正在运行。 就绪(ready)态进程具备运行条件等待系统分配处理器以便运行。 等待(wait)态又称为阻塞(blocked)态或睡眠(sleep)态指进程不具备运行条件正在等待某个事件的完成 运行态(TASK_RUNNING) : 此时进程或者正在运行或者准备运行,就绪或者正在进行都属于运行态睡眠态(TASK_SLEEP): 此时进程在等待一个事件的发生或某种系统资源可中断的睡眠(TASK_INTERRUPT) : 可以被信号唤醒或者等待事件或者资源就绪不可中断的睡眠(TASK_UNTERRUPT) : 只能等待特定的事件或者资源就绪停止态(TASK_STOPPED) : 进程暂停接受某种处理。例如gdb调试断点信息处理。僵尸态TASK_ZOMBIE进程已经结束但是还没有释放进程资源