Alex_McAvoy

想要成为渔夫的猎手

【程序链接与装入】

用户程序要在系统中运行,必须先将其装入内存,然后再将其转变为一个可执行的程序,通常要执行以下步骤:

  • 编译:由编译程序对用户源程序进行编译,形成若干个目标模块
  • 链接:由链接程序将编译后形成的一组目标模块及他们所需要的库函数链接在一起,形成一个完整的装入模块
  • 装入:由装入程序将装入模块装入内存
阅读全文 »

【死锁预防】

预防死锁的方法是通过破坏死锁的四个必要条件中的一个或几个,以避免发生死锁

由于互斥条件是非共享设备所必须的,不仅不能改变,还要加以保证,因此主要是破坏产生死锁的后三个条件

阅读全文 »

【资源】

在系统中,有许多不同类型的资源,其中可能会引起死锁的主要是采用互斥访问机制、不可被抢占的资源,即临界资源,例如:打印机、数据文件、信号量等

可将系统中的资源分为两大类:可剥夺与非可剥夺性资源、永久性资源与临时性资源

阅读全文 »

【进程调度任务】

进程调度是操作系统中必不可少的一种调度,因此在三种类型的 OS 中,无一例外的使用了进程调度,其是对系统性能影响最大的一种处理机调度

进程调度的任务有三:

阅读全文 »

【作业与作业调度算法】

作业

在批处理系统中,是以作业为基本单位从外存调入内存的,作业不仅包含了通常的程序和数据,而且还配有一份作业说明书,系统会根据说明书来对程序运行进行控制

阅读全文 »

【常见调度算法的比较】

处理机调度算法是根据处理机分配策略所规定的处理机分配算法,不同的情况和对象需求不同,适用的方式和算法也不同

以下是几种常见调度算法的比较:

阅读全文 »

【处理机调度】

在多道程序系统中,处理机的分配与运行均以进程为基本单位,对处理机的管理,就是对进程的管理,除了完成进程控制、进程同步、进程通信外,处理机还需要进行调度

处理机调度的实质是一种资源分配,即按照某种算法,将处理机资源分配给就绪队列中的一个

阅读全文 »

【线程的实现方式】

线程的实现可以分为两类:用户级线程(User-Level Thread,ULT)、内核级线程(Kernel-Level Thread,KLT)

在用户级线程中,有关线程管理的所有工作都由应用程序完成,内核意识不到线程的存在

阅读全文 »