2013年(12)
分类: 嵌入式
2013-08-07 21:35:54
几个关键的概念:
(1)同步:时间确定,事件可预测。就是程序执行到某个位置,等待某事件的发生。(例如:被零除这样的错误事件是同步的)
(2)异步:不可预测的时间发生不可预测的事件。如果一个事件发生的时间不是由某个实体确定的,那么这个事件就异步于这个实体。
(3)并发与并行:并发就是很多进程或线程相交替的去占据CPU时间(不超过时间片)。并行就是比如多核时,多进程同一时刻都在运行状态,这样就是并行(个人的理解)。
(4)指令周期:取指->译码->执行所用的CPU时间。
还有时间片、多道程序设计与分时、中断、管道等等一些概念。
很重要的一个“进程”的概念,我的理解是:执行中的程序,是动态的,同时它占有了CPU资源、每个进程系统都为它分配了一段地址空间(内存),还有一个唯一的进程ID号。
进程有五个状态:new、ready、running、block、done,new是新创建一个进程然后进入ready状态,ready通过进程调度进入running,running中的进程如果时间片到了就回到ready状态,running如果调用IO操作或sleep等就进入block状态,当IO完成时就进入ready等待系统的进程调用。running完成了的进程就进入done状态。
进程的终止:a、从main中return;
b、从main中隐式返回(main函数执行到结尾);
c、调用exit、Exit或_exit。