操作系统知识点串联

操作系统综述

操作系统的发展可以分为
手工操作阶段->脱机输入/输出技术->批处理技术->多道程序设计技术。
在多道程序设计技术中,我们将一个以上的作业存放入主存,并且同时处于运行状态,这些状态共享处理器,外设以及其他资源。
由于在实现多道程序系统时,主存同时中存在几道程序因此会出现一系列的问题:
1. 如何分配处理器,以使处理器既能满足各个程序运行的需要又有较高的利用率。(处理器管理)
2. 如何为每道程序分配必要的内存,使它们各得其所又不致因相互重叠而失去信息;如何防止因某个程序出现异常情况而破坏其他程序。(内存管理)
3. 系统中可能有多种类型的I/O设备供多道程序共享,应如何分配设备。(设备管理)
4. 在操作系统中,通常都存放着大量的程序和数据,应如何组织它们。(文件管理)
综上,我们可以将操作系统的功能分为:
1. 处理器管理(进程管理):处理器管理主要是对进程的管理,实现进程的控制,同步,通信,调度。
2. 内存管理:主要任务是对内存进行分配、保护和扩充(虚拟存储技术)。
3. 设备管理:实现设备的分配(缓冲技术和虚拟技术),设备的传输控制和设备的独立性。
4. 文件管理:文件管理的主要任务是有效地支持文件的存储、检索和修改。包括对文件存储空间的管理、目录管理、文件的操作管理和文件保护等。

进程管理

由于需要多个程序在CPU中并发执行,因此我们需要编写一个程序(操作系统)来对监管控制这些程序的执行。程序=算法+数据结构,为了实现这个监管程序使其程序按照一定规则并发运行,我们建立数据结构进程控制块(PCB)让程序变成进程。进程可定义为一个数据结构及能在其上进行操作的的一个程序,相对于程序它具有动态性,并发性,独立性和异步性。它一般由以下几个部分组成: 进程控制块(PCB)、程序段和数据段。其中PCB是进程存在的唯一标志,它包括以下内容:进程标识符(PID)、进程当前状态、进程队列指针、程序和数据地址、进程优先级、CPU现场保护区和占有资源清单等等。PCB保护了程序的并发执行,创建进程,实质上是创建了进程的PCB;而撤销进程,实质上是撤销进程的PCB。
创建完进程之后,我们编写的监管程序需要对进程进行控制。由于系统中多个进程的并发运行及相互制约的结果,使得进程的状态不断发生变化。通常一个运行中的至少可以划分为3种基本状态:
1. 就绪状态:进程已经获得除处理器以外的所有资源。一旦获得处理器,就可以立即执行。
2. 执行状态:当一个进程获得必要的资源并正在CPU上执行时,该进程所处的状态为执行状态。
3. 阻塞状态:正在执行的进程,由于发生某事件而暂时无法执行下去(如等待I/O完成),此时进程所处的状态为阻塞状态。当进程处于阻塞状态时,即使把处理器分配给进程,也无法运行。
由此可见,一个进程能执行需要两样东西:处理器和资源。无处理器则为就绪状态,无资源则为阻塞状态。
进程状态的互相转换如下图所示:
进程状态图
除了对进程进行控制,为了避免多个线程同时读写同一个数据而产生不可预料的后果,我们需要将各个进程对同一个数据的访问进行同步。进程的同步包括两种制约关系:互斥和同步。我们可以利用信号量(P,V操作)来实现这些制约关系。P、V操作原语的伪代码描述如下:

stuct semaphore{     
    int count;  
    queueType queue;
}
wait(semaphore s)   //P操作
{
    s.count--;
    i
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值