操作系统的基础知识

1.基本概念

     操作系统是计算机系统中的核心系统软件,负责管理和控制计算机系统中的硬件和软件资源,合理地组织计算机工作流程和有效地利用资源。

1.1操作系统的类型

1 批处理操作系统:

许多用户作业组成一批作业,输入计算机,系统自动、依次执行每个作业。

注:1.作业:一个事物处理过程中要求计算机系统所做的工作的集合,包括用户程序、数据和命令等。
       2.单道批处理:一次只能处理一个作业、下一个作业必须在上一个作业完成或取消后才能开始。
       3.在内存中同时可以用多道作业在运行,实现自动调度和运行。
       4.特定:多道和成批处理。
       5.缺点:没有交互性,用户提交作业后,失去了对作业的控制能力。

2 分时操作系统:

将处理机(CPU)的时间划分成若干个时间片,然后按照一定的方式分配给各个作业轮流使用。

3 实时操作系统:

及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有的实时设备和实时任务协调一致的工作。

2.五大管理功能:

2.1.进程管理(处理机管理):

对处理机执行时间的管理,即如何将CPU合理地分配给每个任务进程控制、进程同步、进程通信和调度。

进程的状态:

三态模型:运行态、就绪态、等待态。

五态模型:运行态、活跃就绪态、静止就绪态、活跃阻塞态、静止阻塞态。将某些进程挂起,对换到磁盘镜像区中,暂时不参与调度,起到平滑系统操作负荷的目的。挂起的进程不参与进程调度直至被对换进内存。

信号量与PV操作

        进程之间经常会存在互斥和同步两种关系,为了有效地处理这两种情况,Dijkstra在1965年提出信号量和PV操作。     

1)信号量:一种特殊的变量,一个整型S(signal)。

(2)P操作:S=S- 1,若S<0,进程暂停执行,进入等待对列。

(3)V操作:S=S+1,若S<=0,唤醒等待队列中的一个进程。

          互斥控制:一次只允许一个进程访问的资源称为临界资源。访问这些资源的代码段,称为临界区。互斥控制阻止多个进程同时进入访问临界区,进而只允许一个进程使用临界资源。表示如下:

 P(S)

临界区   S初始值设为1

V(S)

          同步控制:进程A在进程B到达L2之前,不应前进超过L1,如下所示:

进程A                           进程B

...                                  ...

  L1:P(S)                      L2:V(S)     S初始值设为0

       ...                                  ...

   生产者—消费者问题:系统中有个缓冲区,进程P1不断写数据到缓冲区,进程2不断从缓冲区取出数据。假设缓冲区只能容纳一个数据。不仅要解决生产者进程与消费者进程的同步关系,还要处理缓冲区的互斥关系。如下表示:

   S1:empty,初始值为1,表示缓冲的empyt区域个数为1.

   S2:   full,初始值为0,表示一开始fuli为0,empty=1,没有数据。

   P1    P(empty),送缓冲区,V(full),循环;

   P2    P  (full),  取走数据,V(empty),循环。

  理解P、V操作:

(1)信号量与P、V操作是解决并发问题的,并发问题最重要的问题就是互斥与同步两个关系,只要这两个关系存在,信号量就有用武之地。遇到这类问题,应先从寻找互斥与同步关系开始,套用 简单互斥、简单同步、生产者-消费者问题。

(2)一个互斥或一个同步关系可以使用一个信号量来解决。

(3)信号量的初值通常就是可用资源的可用数。对初始为0的信号量,会先做V操作。

(4)使用资源之前,将会使用P操作,资源使用完之后,将会使用V操作。在互斥关系中,对一个信号量的P、V操作在一个进程中成对出现;在同步关系中,P、V操作一定在两个甚至多个进程中成对出现。        

死锁问题:

多个进程之前,互相等待对方的资源,而在得到对方资源之前又不释放自己的资源,这样,造成循环等待的一种现象。

1.死锁发生的必要条件:
(1)互斥条件(一个资源每次只能被一个进程使用);
(2)保持和等待条件(获得的资源在等待其它资源时不会释放);
(3)不可剥夺条件(有些系统资源,进程一旦获得后,只能由进程用完释放,不能被系统强行收回);
(4)环路等待条件:(若干个进程形成环形链,都要申请对方已经占有的资源)。
2.银行家算法:

在分配资源之前,先看清楚,如果资源分配下去后,是否会死锁。如果会死锁,则不分配,否则就分配。

3.解决死锁的策略:
(1)死锁预防,破坏死锁的条件之一。
(2)死锁避免,银行家算法。
(3)死锁检测,判断是否发生死锁,如果是,执行死锁解除策略。
(4)死锁解除,对某进程的资源强行收回,分配给其它进程。     

2.2.存储管理:

对存储空间的管理,主要指对内存的管理:内存的分配、保护、扩充、地址映射、逻辑地址和物理地址的转换。

1.虚拟存储技术:

在内存中保留一部分程序或数据,在外存(硬盘)中放置整个地址空间的副本。当需要的程序或数据不在内存时,就将内存中部分内容写回外存,然后从外存调入所需程序或数据,实现作业内部的局部对换

2.虚拟存储器的分类:

最常见的虚拟存储组织有:分段技术、分页技术、段页式技术。其中,段页式是最常见的方式,在进行虚拟地址到实际物理地址的转换时,可以采用公式如下:
                    (((x)+s)+P)*(2的n次方)+d
x为基号,s为段号,p为段内页号,d为页内偏移,n为d的总(二进制)位数。

3.虚存管理;

调入策略:(何时将页或段调入主存);
放置策略:(放在主存的什么位置);
置换策略: 当需要的页不在主存(称为缺页中断),进行内外存的置换(对换),
  • 最优算法:将不用的或最远才用的的页对换出去。(理想算法,不可能实现)
  • 随机算法:随机对换。
  • 先进先出算法:将最先调入的页对换出去。
  • 最近最少使用算法:选择最近一段时间使用最少的页对换出去。

2.3.作业管理:

1.作业的状态

一般要经历:提交、后备、执行和完成四个状态。

(1)提交状态:作业由输入设备进入外存储器的过程。

(2)后备状态:作业全部信息进入外存后,系统为作业建立一个作业控制块。

(3)执行状态:一个后备作业被作业调度程序选中,分配了必要的资源,进入了内存,同时为其建立了相应的进程,该作业就由后备状态变成了执行状态。

(4)完成状态:当作业正常运行结束,它所占用的资源尚未全部被系统回收的状态称为完成状态。

2.处理机的调度:三级调度

(1)高级调度。也称作业调度,主要功能在后备作业队列中选择一个或一组作业,为它们建立进程、分配必要资源,使它们能够运行起来。

(2)中级调度。也称交换调度,主要功能是在内存资源不足时将某些处于等待状态或就绪状态的进程调出内存,腾出空间后,再将外存上的就绪程序调入内存。

(3)低级调度。也称进程调度,主要功能是确定处理器在就绪程序间的分配。

3.作业的调度算法

作业调度主要完成从后备状态到执行状态的转变,及从执行状态到完成状态的转变。

(1)先来先服务(FCFS)。

(2)短作业优先(SJF)。

(3)响应比高者优先(HRN)。

响应比:HRN=(估计运行时间+等待时间)/估计运行时间。

(4)优先级调度。根基作业的优先级别调度。

计算机的性能指标:系统响应速度和作业吞吐量。

作业周转时间等于完成时间减去提交时间,或等于等待时间加上运行时间。

2.4.设备管理

1.设备管理的功能

在计算机系统中,除了处理器和内存之外,其他的大部分硬件设备称为外部设备,包括输入/输出设备,辅存设备(硬盘)以及终端设备(显示器,打印机)。设备管理的功能有:

(1)提供和进程管理系统的接口。如进程需要通过这个接口申请设备资源。

(2)进行设备分配。

(3)实现设备和设备、设备和CPU等之间的并行操作。

(4)进行缓冲区管理。减少外设和内存与CPU之间的数据速度不匹配的问题。

2.设备驱动程序

处在操作系统与硬件之间,与上层软件无关。驱动程序的任务是

(1)将硬件本身的功能告诉操作系统;
(2)完成硬件设备电子信号与操作系统及软件的高级编程语言之间的互相翻译。

3.虚拟设备

SPOOLING(Simultaneous Peripheral Operation On Line),外部设备同时联机操作,又称假脱机输入输出操作,采用一组程序或进程模拟一台I/O处理器。


该技术利用了专门的外围控制机将低速I/O设备上的数据传送到高速设备上,然后在高速设备与内存之间传送数据。或者相反。在主机的控制下实现脱机输入、输出的功能。此时外围操作与CPU对数据的处理同时进行,将这种在联机情况下实现的外围操作称为SPOOING,或称为假脱机操作。

采用假脱机技术,可以将低速的独占设备改造成一种可共享的设备,而且一台物理设备可以对应若干态虚拟的同类设备。

2.5.文件管理

创建文件:create();
关闭文件:close();
删除文件:delete();
读文件:read();
打开文件:open();
写文件:write();
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值