
操作系统
好雨知时节呀
热爱分享,热爱生活
展开
-
想知道你写的C语言代码如何运行的吗?看这里!!!
C语言编译链接----幕后小故事我们在计算机中写的.c文件,被称为C语言源代码,这种源代码机器是不认识的,为了让机器认识C语言源代码,那么必须要经过这么几个过程(预处理、编译、汇编、链接、加载),让源代码变为机器语言的目标文件,才可以变为可执行程序。下图为编译过程:预处理器编译器汇编器链接器加载器源代码扩展的源代码汇编源代码目标代码可执行代码可执行文件讲解上图:这里的源代码姑且叫它sam...原创 2019-04-23 11:05:41 · 5449 阅读 · 0 评论 -
进程与线程的一个简单解释
进程(process)和线程(thread)是操作系统的基本概念,但是它们比较抽象,不容易掌握。最近,我读到一篇材料,发现有一个很好的类比,可以把它们解释地清晰易懂。计算机的核心是CPU,它承担了所有的计算任务。它就像一座工厂,时刻在运行。假定工厂的电力有限,一次只能供给一个车间使用。也就是说,一个车间开工的时候,其他车间都必须停工。背后的含义就是,单个CPU一次只能运行一个...转载 2019-05-11 10:31:48 · 133 阅读 · 1 评论 -
进程基本概念
什么是进程?早期的计算机一次只能执行一个程序,这种程序完全控制系统,并且访问所有系统资源。到了现代,计算机系统允许加载多个程序到内存,以便于并发执行。这就要求操作系统对各种程序提供更严格的控制和更好地划分和规划。这些 需求引发了进程概念的产生,大白话的说,进程就是正在执行的程序,是现代分时操作系统的工作单元。操作系统的复杂程度决定它可以为用户带来更好地体验感。虽然它主要它主要关注的是执行用...原创 2019-05-16 10:36:34 · 1738 阅读 · 0 评论 -
Linux中进程创建、僵尸进程、孤儿进程
操作系统的主要功能是对系统中的所有进程实施有效的管理,它具有创建新进程、撤销已有进程、实现进程状态转换等等功能。在操作系统中,一般把进程控制用的程序段称为原语,原语的特点是执行期间不允许中断,它是一个不可分割的基本单位。进程的创建程序从硬盘中加载到内存中,操作系统为新进程分配一个唯一的进程标识号,并申请一个空白的PCB,若申请失败,则创建失败。失败原因:(1)大于用户可以创建的进程最大...原创 2019-05-16 21:31:08 · 774 阅读 · 0 评论 -
实现孤儿进程(孤儿进程会被 init 进程收养善后,所以没什么危害)
有关孤儿进程的讲解:孤儿进程讲解博客传送门 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <errno.h> 4 #include <unistd.h> 5 6 int main(){ 7 8 pid_t pid = fork(); 9 ...原创 2019-06-05 09:41:30 · 543 阅读 · 2 评论