在读书的时候,我非常喜欢玩电玩。所幸未达废寝忘食之境界,否则向来生活拮据的父母定要为生此"败家子"而伤感万分。但是却又是我的每日必修之课。下午,一下完课对当日所学作好一个复习笔记或是回到寝室稍作回忆。及至吃完晚饭藉以散步之名而往游戏厅方向急行。唯恐到晚了便没有机子玩。每天定量消费两个铜牌也就5毛钱吧,但那时算是贵了。更有一次到外地玩,发现那里铜牌便宜1元钱有10个,背了10元钱回校,我也因此而在班里扬名。自觉此为本人所赚之第一笔钱,可美其名“勤工俭学“。
自思电玩也就是一台破机器而已,何以让如此多的英雄为它竟折腰。百思之,终一日得其解。就我而言,是莫过于我能控制其中的角色,虽我能操控制,但却又屡不能达自如之程度。常常在游戏机前暴跳如雷又或嗟叹不已,偶而也能神采奕奕,自为天下之大,我皆能胜,吾后定有为。
而后吾又为电脑而痴,总也想在本人的”杰作“之中操控已有应用程序,似乎于此便有些成就之感。可谓之童心有增,或可谓之好事之人。
我将如何来操纵这些应用程序呢?这里就先得说进程这个东西了。记得李莫愁曾有云:问天下情为何物,直叫人生死相许之词。进程又为何物
它是系统中进行系统资源分配、调度和管理的最小单位了。情为人之所发,而进程却又是随程序的运行而产生,程序是静态的,进程是活动的。程序运行才会有进程,程序并不一定只有一个进程,它可以对应多个进程。
进程是动态的,它在整个生命周期中可以经过几个状态大致上说是:运行态,就绪态,阻塞态。而如果细分之就可为五种,另外多的这两种是挂起就绪态,挂起阻塞态。整个控制过程如下
运行
↙↑ ↘
就绪 ← 阻塞
↓ ↑ ↑↓
挂起就绪
← 挂起阻塞
(其运行还可以直接转到挂起就绪态)
系统是如何才能对进程如此灵活地控制呢?可谓要其生,其便生,要其休息其便要休息。这全功于每个进程都有一个标记,叫做进程控制块这样的一个数据结构,这个数据结构是一个内核对象。何又为内核对象,内核对象本质就是内核分配的一个内存块它只能为内核才能访问。它是进程可以被打断而后又能在打断点恢复运行的基础,一般来说这个信息是常驻内存的。正是有上述这个数据结构系统才能对进程进行自如地调度。简单地说系统对进程的调度主要有以下三种方法:先来先服务,优先数调度,轮转法。