操作系统(第一章之概念、形成、特征、功能)

目录

一、操作系统的概念

    (一)、计算机系统

1. 计算机硬件

2. 计算机软件 

    (二)、什么是操作系统 

    (三)、操作系统的目标 

1. 方便性

2. 有效性

 3. 可扩充性

4. 开放性 

二、操作系统的形成与发展

    (一)、推动操作系统发展的动力 

    (二)、操作系统的形成 

1. 无操作系统

2. 批处理系统 

3. 分时系统 

4. 实时系统 

 5. 微机操作系统

 6. 多处理器操作系统

7. 网络操作系统 

8. 分布式操作系统 

9. 嵌入式操作系统 

三、操作系统的特征与功能

 1. 并发性

2. 共享性

3. 虚拟性 

4. 异步性 

5.操作系统的功能 

四、流行操作系统简介

    一、DOS操作系统 

    二、UNIX操作系统 

    三、Linux操作系统 

    四、Windows操作系统 

本章习题


一、操作系统的概念

    (一)、计算机系统

     一个完整的计算机系统,不论是大型机、小型机还是微型机,都由两大部分组成:计算机硬件和计算机软件,如下图所示。

 

    计算机硬件和计算机软件在计算机系统中是相辅相成、缺一不可的,它们共同组成了计算机系统。计算机硬件是计算机的躯体和基础,计算机软件是计算机的头脑和灵魂,没有软件的计算机和缺少硬件的计算机都不能成为完整的计算机系统。

1. 计算机硬件

    计算机硬件是指构成计算机系统所必须配置的各种设备,是“看得见,摸得着”的物理部件,它是组成计算机系统的物质基础。计算机硬件主要由运算器、控制器、存储器、输入设备和输出设备组成。 

2. 计算机软件 

    计算机软件是指由计算机硬件执行以完成一定任务的程序及其数据。 

    (二)、什么是操作系统 

    操作系统属于软件中的系统软件,是紧挨着硬件的第一层软件,是对硬件功能的首次扩充;其他软件则是建立在操作系统之上的,通过操作系统对硬件功能进行扩充,并在操作系统的统一管理和支持下运行各种软件。操作系统与硬软件的关系如下图所示。 

 

    从用户的角度来看,操作系统是用户与计算机硬件系统之间的接口,用户通过操作系统来使用计算机系统,即用户在操作系统的支持下,能够方便、快捷、安全、可靠地操纵计算机硬件资源,运行自己的程序。 

    用户可通过以下三种方式使用计算机: 

  (1)直接使用操作系统提供的键盘命令或Shell命令语言,如Linux操作系统的字符接口; 

  (2)利用鼠标点击窗口中的图标,以执行相应的应用程序,如Windows操作系统的图形用户接口; 

  (3)使用在应用程序中调用操作系统的内部功能模块(系统调用接口)。 

综上可知:

(1)作为用户与计算机接口的操作系统;

(2)作为资源管理者的操作系统。 

    (三)、操作系统的目标 

1. 方便性

    操作系统最终是要为用户服务的,所以,设计操作系统时必须考虑用户能否方便地操作计算机。用户的操作包括直接使用命令来操作计算机,也包括通过设计程序让计算机完成各种任务。 

2. 有效性

    配置了操作系统后,可使CPU和I/O设备因能保持忙碌状态而得到更有效的利用,且因使内存和外存中存放的数据有序而节省了存储空间。

    此外,操作系统要合理地组织计算机的工作流程,提高系统资源的利用率,增加系统的吞吐量,从而使有限的资源完成更多的任务。

 3. 可扩充性

    随着计算机技术的迅速发展,计算机硬件和体系结构也随之得到迅速发展,它们对操作系统提出了更高的功能和性能要求。因此,操作系统必须具有很好的可扩充性才能适应发展的要求。这就是说,在设计操作系统的体系结构时,要采用合理的结构使其能够不断地扩充和完善。

4. 开放性 

    随着计算机硬件技术的发展,不同厂家的新型的、集成化的硬件不断涌现出来。为了使这些硬件产品能够正确、有效地协同工作,就必须实现应用程序的可移植性和互操作性,因而要求计算机系统具有统一的开放环境,其中首先是要求操作系统具有开放性。 

 

二、操作系统的形成与发展

    (一)、推动操作系统发展的动力 

    操作系统的形成迄今已有50多年的时间,在短短的50多年中,操作系统取得巨大的进展,其主要动力可以归结为以下4个方面。

    1.不断提高计算机资源利用率的需要:人们千方百计地提高计算机系统中各种资源的利用率,这就推动了人们不断发展操作系统的功能。

    2.方便用户操作:人们想方设法改善用户的上机和调试程序的条件,随之便形成了允许人机交互的分时系统,或称为多用户系统。

    3.硬件的不断更新换代:计算机硬件在不断的更新,从电子管到晶体管,到集成电路,到大规模集成电路,计算机的性能不断提高,从而推动了操作系统的性能和功能的不断改进和完善。

    4.计算机体系结构的不断发展:计算机体系结构的发展也不断地推动着操作系统的发展,并产生了新的操作系统。 

    (二)、操作系统的形成 

 

1. 无操作系统

    无操作系统的计算机系统,其资源管理和控制由人工负责,它采用两种方式:人工操作方式和脱机输入输出方式。

人工操作方式的特点:
 

  • 用户独占全机。一台计算机的全部资源只能由一个用户独占。 
  • CPU等待人工操作。

    人工操作方式严重降低了计算机资源的利用率,此即为所谓的人机矛盾。随着计算机CPU速度的提高,人工操作的低速率与计算机主机运行的快速运算之间速度不匹配的矛盾日趋严重。 

脱机输入输出方式 

    为了解决CPU和I/O设备之间速度不匹配的矛盾,50年代末出现了脱机输入输出技术。简单地说,脱机输入输出方式是指程序和数据的输入输出是在外围机的控制下,而不是在主机的控制下完成的。

    脱机输入输出技术减少了计算机主机的空闲等待时间,提高了I/O设备的处理速度。此外,如果输入输出是在主机的控制下完成的,则称为联机输入输出。

2. 批处理系统 

    批处理系统主要采用了批处理技术。批处理技术是计算机系统对一批作业自动进行处理的一种技术。批处理系统有单道批处理系统和多道批处理系统两种形式。 

(1)单道批处理系统

    单道批处理系统是20世纪50年代General Motors研究室在IBM 701计算机上实现的第一个操作系统。由于系统对作业的处理都是成批地进行的,且在内存中始终只保持一道作业,故称单道批处理系统。

 

    单道批处理系统的特点是:

  • 自动性。磁盘(带)上的一批作业能自动地逐个执行,无需人工干预。。
  • 顺序性。磁盘(带)上的作业是顺序地进入内存的,先调入内存的作业先完成。
  • 单道性。内存中仅有一个程序运行。 

    单道批处理系统大大减少了人工操作的时间,提高了机器的利用率。但是,在单道批处理作业运行时,主存中仅存放了一道程序,每当程序发出I/O请求时,CPU便处于等待I/O完成状态,致使CPU空闲,特别是I/O设备的低速性降低了CPU的利用率。 

(2)多道批处理系统 

    多道批处理系统是在20世纪60年代设计的。为了改善CPU的利用率,提高机器的使用效率,在单道批处理系统中引入了多道程序设计技术,形成了多道批处理系统,它使CPU与外设可以并行工作。多道程序设计技术是指同时把多个作业放入内存并允许它们交替执行,共享系统中的各类资源,当某个程序因某种原因而暂停执行时,CPU立即转去执行另一道程序。 

 

    多道批处理系统的特点是:

  • 多道性。在内存中可以同时驻留多道程序,并允许它们并发执行,从而有效地提高了资源的利用率和系统的吞吐量。
  • 无序性。多个作业完成的先后顺序与它们进入内存的先后顺序没有严格的对应关系,即先进入内存的作业不一定先完成,后进入内存的作业不一定最后完成。
  • 调度性。作业从提交给系统开始直至完成,需要经过两次调度:一是作业调度,二是进程调度。 

    多道批处理系统的优点是:

  • 资源利用率高。由于在内存中的多道程序共享资源,使资源尽可能处于忙碌状态,从而提高了资源的利用率。
  • 系统吞吐量大。系统吞吐量是指系统在单位时间内所完成的工作总量。多道批处理系统能提高系统吞吐量的原因可归结为:第一,CPU和其他资源保持“忙碌”状态;第二,仅当作业完成时或运行不下去时才进行切换,系统开销小。 

    多道批处理系统的缺点是: 

  •  平均周转时间长。在批处理系统中,由于作业要排队,要经过两次调度依次进行处理,因而作业的周转时间长。
  • 无序性。多个作业完成的先后顺序与它们进入内存的先后顺序没有严格的对应关系,即先进入内存的作业不一定先完成,后进入内存的作业不一定最后完成。
3. 分时系统 

    如左图所示,分时系统是指一台主机上连接了多个带有显示器和键盘的终端,同时允许多个用户以分时方式共享主机中的资源,每个用户都可以通过自己的终端以交互的方式使用计算机。

 

    所谓分时技术就是把处理器的运行时间划分成很短的时间片,根据时间片轮流把处理器分配给各联机作业使用。若某个作业在分配给它的时间片内不能完成其计算,则该作业被暂时中断,把处理器让给下一个作业使用,被中断作业等待下一轮时再继续运行。由于计算机的速度很快,作业轮换运行的速度也很快,这样给每个用户的感觉就像是自己独占了一台计算机一样。 

 分时系统实现中的关键问题

  • 及时接收:要及时接收用户键入的命令或数据并不困难,只需在系统中配置一个多路卡。此外,还需为每个终端配置一个缓冲区,用来暂存用户键入的命令。
  • 及时处理:人机交互的关键是使用户键入自己的命令后,能及时地控制或修改自己的作业。为此,要让所有的用户作业直接进入主存,在不长的时间内(如3s)使每个作业运行一次,从而使用户的作业得到及时处理。

分时系统的特征 

  • 多路性。允许在一台主机上同时连接多台终端,系统按分时原则为每个用户服务,提高了资源的利用率。
  • 独立性。每个用户占用一个终端,彼此独立操作、互不影响。因此,每个用户会感觉到自己独自占用了主机。
  • 及时性。用户的请求能在很短的时间内获得响应,此时的时间间隔是根据人们能接受的等待时间来确定的,通常为2~3s。
  • 交互性。用户可以通过终端与系统进行广泛的对话。 
4. 实时系统 

    实时系统是指系统能及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。

实时系统的特征 

  • 多路性。多路性是指系统能对多个现场进行数据采集,并对多个对象或多个执行机构进行控制。
  • 独立性。独立性是指信息的采集和对象的控制操作互不干扰。
  • 交互性。交互性是指用户可访问系统中某些特定的专用服务程序,其交互性弱于分时系统。
  • 及时性。及时性是以控制对象所要求的开始时间和截止时间来确定的,实时系统的及时性高于分时系统,一般为秒级、毫秒级,甚至微秒级。
  • 可靠性。可靠性是指采用多级容错技术来保证系统的安全性和数据的安全性。其可靠性高于分时系统。 

实时系统与分时系统的主要区别 

 

 5. 微机操作系统

    微机操作系统是指配置在微机上的操作系统。最早出现的微机操作系统是8位微机上的CP/M操作系统。微机操作系统可分为单用户单任务操作系统、单用户多任务操作系统和多用户多任务操作系统。 

(1)单用户单任务操作系统

    单用户单任务操作系统是指只允许一个用户上机,且只允许用户程序作为一个任务运行。这是一种最简单的微机操作系统,主要配置在8位微机和16位微机上。具有代表性的单用户单任务操作系统是CP/M和MS-DOS。、

(2)单用户多任务操作系统

    单用户多任务操作系统是指只允许一个用户上机,但允许一个用户程序分为多个任务并发执行,从而有效地改善系统的性能。它主要配置在32位微机上,最具代表性的单用户多任务操作系统是OS/2和MS-Windows。

(3)多用户多任务操作系统

    多用户多任务操作系统是指允许多个用户通过各自的终端使用同一台主机,共享主机系统中的各类资源,而每个用户程序又可分为多个任务并发执行,从而提高资源的利用率和增加系统的吞吐量。它主要配置在大、中、小型计算机上,具有代表性的是UNIX。 

 6. 多处理器操作系统

    在多处理器系统上配置的操作系统称为多处理器操作系统。

    根据多个处理器之间耦合的紧密程度,把多处理器系统分为紧密耦合MPS和松散耦合MPS两种类型。

7. 网络操作系统 

网络操作系统的功能 

    ①网络通信  ②资源管理  ③网络服务     ④网络管理  ⑤互操作能力 

8. 分布式操作系统 

     所谓分布式处理系统是指由多个分散的处理单元经网络连接而形成的系统。在分布式系统上配置的操作系统称为分布式操作系统。

分布式操作系统的特点

  •  分布性:均匀地分布在各个站点上,它的处理和控制是分布式的。
  •  并行性:将多个任务分配到多个处理单元上并行执行。
  •  透明性:很好地隐藏系统内部的实现细节,而对象的位置、并发控制、系统故障等对用户是透明的。
  • 共享性。各个站点上的软硬件资源可供全系统中的所有用户共享,并以透明的方式访问它们。
  •  健壮性。任何站点上的故障都不会给系统造成太大的影响。 

分布式操作系统与网络操作系统的区别 :

    分布式操作系统与网络操作系统的主要区别在于对资源的访问方式不同。     网络操作系统在访问系统资源时需要指明资源的位置和类型,对本地资源和异地资源的访问要区别对待;而分布式操作系统对所有资源,包括本地资源和异地资源,都用同一方式进行管理和访问,用户不必关心资源在哪里,或资源是怎样存储的。

9. 嵌入式操作系统 

    嵌入式操作系统就是运行在嵌入式智能芯片环境中,对整个智能芯片以及它所操作、控制的各种装置进行统一协调、调度、指挥和控制的系统软件。 

    与一般操作系统相比,嵌入式操作系统具有微小、实时、专业、可靠、易裁剪、应用领域差别大的特点。代表性的嵌入式操作系统有Symbian,WinCE,Linux,Palm OS,VxWorks等。

三、操作系统的特征与功能

操作系统的基本特征包括:并发性、共享性、虚拟性、异步性。

 1. 并发性

    并发性是指两个或多个事件在同一时间间隔内发生。在多道程序环境下,并发性是指宏观上在一段时间内有多道程序同时运行,但在单处理器系统中,每一个时刻仅能执行一道程序,故微观上这些程序是在交替执行的。并发的目的是改善系统的利用率和提高系统的吞吐量。

与并发不同的是并行,对于并行而言是指两个或多个事件在同一时刻同时发生

 

2. 共享性

    共享性是指系统中的资源可供多个并发执行的进程使用。根据资源的属性,把共享分为互斥共享和同时共享两种方式。 

(1)互斥共享

    互斥共享是指系统中的资源,如打印机、扫描仪等,虽然它们可供多个进程使用,但在一段时间内只允许一个进程访问该资源。 

(2)同时共享 

    同时共享是指系统中有些资源,如磁盘,允许在一段时间内有多个进程同时对它们进行访问。

    并发性和共享性是操作系统的两个最基本特征,它们互为存在条件。一方面,资源共享是以程序(进程)的并发执行为存在条件,若系统不允许并发执行,自然不存在资源共享问题;另一方面,若系统不能对资源共享实施有效管理,则将影响程序的并发执行,甚至无法执行。 

 

3. 虚拟性 

    虚拟性是指通过某种技术把一个物理实体变成若干个逻辑实体,即物理上虽然只有一个实体,但用户使用时感觉有多个实体可供使用。

    在操作系统中,虚拟的实现主要是通过分别使用的方法。显然,如果n是某一物理设备所对应的虚拟的逻辑设备数,则虚拟设备的速度必然是物理设备速度的1/n。

4. 异步性 

    异步性也称不确定性、随机性,是指在多道程序环境下允许多个进程并发执行。具体说,各个程序什么时候得以运行、在执行过程中是否被其他事情打断暂停执行、向前推进的速度是快还是慢等都是不可预知的,这由程序执行时的现场所决定。但只要环境相同,一个作业经过多次运行,都会得到相同的结果。 

5.操作系统的功能 

1. 处理器管理 

2. 存储器管理

3. 设备管理

4. 文件管理

5. 用户接口 

四、流行操作系统简介

    一、DOS操作系统 

    DOS是英文Disk Operation System的简称,中文为磁盘操作系统。

    DOS是一种单用户单任务的磁盘操作系统,它向用户提供的的用户界面是命令行界面,用户用字符命令方式操作。DOS实现的主要功能包括命令处理、文件管理、设备管理,后来又增加了存储器管理。

    DOS的主要优点是体积短小,运行效率高。DOS的主要缺点是缺少对数据库、网络通信、多媒体的支持,操作不方便等。

    二、UNIX操作系统 

    UNIX操作系统1969年在贝尔实验室诞生,最初运行在中小型计算机上。它是一个由C语言编写的、多用户多任务操作系统。

    UNIX被设计成为能够同时运行多进程,支持用户之间共享数据。同时,UNIX支持模块化结构,安装UNIX操作系统时,只需安装工作需要的部分。用户界面同样支持模块化原则,互不相关的命令能够通过管道相连接,以执行非常复杂的操作。

    UNIX操作系统的可靠性和稳定性是其他系统所无法比拟的,是公认的最好的Internet服务器操作系统。从某种意义上讲,整个因特网的主干几乎都是建立在运行UNIX的众多机器和网络设备之上的。 

    UNIX操作系统的特点主要包括:

  •  UNIX系统是一个可供多用户同时操作的会话式分时操作系统,不同的用户可以在不同的终端上通过会话方式控制系统操作
  •  UNIX在功能设计上非常简捷、高效。
  •  UNIX系统在结构上分为内核和核外程序两部分,内核向核外程序提供了充分而强大的支持,而核外程序灵活地运用了内核的支持。
  •  UNIX系统向用户提供了两种界面,一种是用户界面;另一种是系统调用。
  •  UNIX系统采用树形结构的文件系统,既能扩大文件存储空间,又具有良好的安全性、保密性和可维护性。
  •  UNIX系统提供了丰富的核外系统程序,为用户提供了相当完备的程序设计环境。 
    三、Linux操作系统 

    Linux是一套免费使用和自由传播的类似UNIX的操作系统,这个系统是由全世界各地的成千上万的程序员设计和实现的。    

    Linux以它的高效性和灵活性著称。它能够在PC计算机上实现全部的UNIX特性,具有多任务、多用户的能力,而且还包括了文本编辑器、高级语言编译器等应用软件。它还包括带有多个窗口管理器的X-Windows图形用户界面,如同Windows NT一样,允许人们使用窗口、图标和菜单对系统进行操作。它是一个功能强大、性能出众、稳定可靠的操作系统。

    目前,Linux在服务器市场上的发展势头比Windows Server更佳,尤其在因特网主机上,Linux的份额已经逐渐超过Windows Server。

    Linux操作系统的特点:

  •   与UNIX兼容:符合POSIX(Portable Operating System Interface,可移植操作系统接口)标准,各种UNIX应用可方便地移植到Linux下。
  •  自由软件、源代码公开。
  •  便于定制和再开发,可根据自己的需要进行裁剪或再开发。
  •  互操作性高:能够以不同的方式实现与非Linux系统的不同层次的互操作。
  •  全面的多任务和真正的32位操作系统完善的图形整合界面
  •  出色的网络服务器功能:默认使用TCP/IP为网络通信协议,还自带了许多网络服务器软件。
  •  友好的中文显示平台:可选择操作系统的内码为中文。
    四、Windows操作系统 

    Windows操作系统是当前个人计算机中应用最广泛、影响力最深远的一种操作系统。从1983年美国微软公司宣布Windows的诞生到现在,Windows操作系统经历了二十多年的发展历程,先后推出了若干个版本。

    Windows采用了GUI图形化操作模式,比起从前的指令操作系统如DOS更为人性化。Windows操作系统是目前世界上使用最广泛的操作系统。    

    随着电脑硬件和软件系统的不断升级,微软的Windows操作系统也在不断升级,从16位、32位到64位操作系统。从最初的Windows 1.0和Windows3.2到大家熟知的Windows 95,Windows 97,Windows 98,Windows 2000,Windows Me,Windows XP,Windows Server,Windows Vista,Windows 7,Windows 8等。 

本章习题

 1、什么是操作系统?

操作系统是计算机系统中的系统软件,管理和控制计算机系统中的硬件和软件资源,合理地组织计算机的工作流程,以便有效利用这些资源为用户提供一个功能强、使用方便的工作环境,从而在计算机与用户之间起到接口的作用。

2、简述操作系统的类型?

操作系统大致可分为八种类型,分别为:批处理操作系统、分时操作系统、实时操作系统、微机操作系统、多处理机操作系统、网络操作系统、分布式操作系统以及嵌入式操作系统。 

3、操作系统的基本特征有哪些?

 操作系统的基本特征包括并发性、共享性、虚拟性和异步性。

4、操作系统的功能有哪些?

1. 处理器管理 

2. 存储器管理

3. 设备管理

4. 文件管理

5. 用户接口 

 欢迎大家点赞收藏!

  • 18
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第1章 操作系统概述     【掌握】   1. 操作系统概念   操作系统是控制和管理计算机系统内各种硬件和软件资源、有效地组织多道程序运行的系统软件(或程序集合),是用户与计算机之间的接口。   记忆要点:操作系统是什么——是系统软件;   操作系统管什么——控制和管理计算机系统内各种资源;   操作系统有何用——扩充硬件功能,方便用户使用。  功能   操作系统的五大主要功能:存储管理、进程和处理机管理、文件管理、设备管理、用户接口管理。   【理解】   1.操作系统特征:并发、共享和异步性。   理解模拟:并发——“大家都前进了”;   共享——“一件东西大家用”;   异步性——“你走我停”,“走走停停”。   2.操作系统的主要类型   操作系统的主要类型有:多道批处理系统、分时系统、实时系统、网络操作系统、个人机操作系统、分布式系统和嵌入式操作系统。   UNIX系统是著名的分时系统。   3.分时概念:主要是指若干并发程序对CPU时间的共享。   【了解】   1.操作系统形成;   2.分时和实时操作系统的特点,见教材16页;   3.操作系统在计算机系统中的地位:是裸机之上的第一层软件,是建立其他所有软件的基础。   4.操作系统结构设计:整体结构、层次结构、虚拟机结构和客户机-服务器结构。   5.操作系统为用户提供的三种用户接口:图形用户接口、命令行接口和程序接口。   系统调用是操作系统内核与用户程序、应用程序之间的接口。在UNIX/Linux系统,系统调用以C函数的形式出现。 第2章 进程管理   考核学生对进程定义、进程的状态及其转换、进程的组成、竞争条件和临界区、进程的同步与互斥、信号量和P、V操作及其一般应用、死锁的概念和产生死锁的必要条件等的内容学习情况。   【掌握】   1.进程的定义:进程是程序在并发环境中的执行过程。   进程与程序的主要区别。进程最基本的属性是动态性和并发性。   2.进程的状态及其转换   进程的3种基本状态是:运行态、就绪态和阻塞态。掌握教材33页的进程状态及其转换图。   3.进程的同步与互斥的概念。可以简单理解为:同步是协作,互斥是竞争。   4.信号量和P、V操作及其一般应用。   运用信号量机制和P、V操作,解决并发进程一般的互斥和同步问题。解决此类问题的一般方式:   (1)根据问题给出的条件,确定进程有几个或几类;   (2)确定进程间的制约关系——是互斥,还是同步;   (3)各相关进程间通过什么信号量实现彼此的制约,标明信号量的含义和初值;   (4)用P、V操作写出相应的代码段;   (5)验证代码的正确性:设以不同的次序运行各进程,是否能保证问题的圆满解决。切忌按固定顺序执行各进程。   【理解】   1.多道程序设计概念及其优点。   2.进程的一般组成,应深入理解进程控制块的作用。每个进程有惟一的进程控制块。   3.Linux进程管理的基本命令:ps、kill、sleep。   4.理解进程临界资源和临界区的概念,进程进入临界区的调度原则。信号量概念,P、V操作执行的动作。   5.死锁的概念;死锁的4个必要条件:互斥条件、不可抢占条件、占有且申请条件、循环等待条件。   【了解】   1.Linux进程结构,见教材41页图。   2.进程间的3种高级通信:共享内存、管道文件和消息传递。 第3章 处理机调度   考核学生对作业状态、作业调度和进程调度的功能、性能评价标准、常用调度算法、Linux常用调度命令、中断处理过程、shell命令执行过程等内容的学习情况。   【掌握】   1.作业调度和进程调度的功能   作业调度的功能见教材73页,进程调度的功能见教材74页。在一般操作系统中,进程调度是必须具备的。   2.常用调度算法   掌握三种基本调度算法(先来先服务法、时间片轮转法、优先级法)的实现思想,并能进行评价指标的计算。   要求:能利用图表形式列出各作业或进程的有关时间值,如到达时间、运行时间、开始时间、完成时间等,利用评价公式计算出各指标的值,如周转时间、带权周转时间、平均周转时间、平均带权周转时间。   【理解】   1.作业的四种状态:提交、后备、执行和完成。   2.作业调度与进程调度的关系,见教材75页。简单比喻:作业调度是演员上场前的准备,进程调度是让演员上场表演。   3.调度性能评价标准   评价调度算法的指标:吞吐量、周转时间、带权周转时间、平均周转时间和平均带权周转时间。   4.Linux系统的进程调度方式、策略和常用调度命令:nohup,at,batch,jobs,fg,bg。   5.中断处理过程:保存现场、分析原因、处理中断和中断返回。   6.shell命令的一般执行过程。   【了解】   1.调度的三个级别:高级调度、中级调度和低级调度,其中高级调度又称作业调度,低级调度又称进程调度。   2.调度策略的选择,见教材77页。   3.中断概念   中断是指CPU对系统发生的某个事件做出的一种反应,它使CPU暂停正在执行的程序,保留现场后自动执行相应的处理程序,处理该事件后,如被中断进程的优先级最高,则返回断点继续执行被“打断”的程序。 第4章 存储管理   考核学生对重定位、分区法、分页的概念、虚拟存储概念、请求分页存储管理技术、常用页面置换算法、Linux中的存储管理技术以及抖动等内容的学习情况。   【掌握】
自己动手写操作系统在详细分析操作系统原理的基础上,用丰富的实例代码,一步一步地指导读者用C语言和汇编语言编写出一个具备操作系统基本功能操作系统框架。本书不同于其他的理论型书籍,而是提供给读者一个动手实践的路线图。书中讲解了大量在开发操作系统中需注意的细节问题,这些细节不仅能使读者更深刻地认识操作系统的核心原理,而且使整个开发过程少走弯路。全书共分7章。 第1章 马上动手写一个最小的“操作系统”1 1.1 准备工作1 1.2 10分钟完成的操作系统1 1.3 Boot Sector3 1.4 代码解释3 1.5 水面下的冰山5 1.6 回顾6 第2章 搭建你的工作环境7 2.1 虚拟计算机(Virtual PC)7 2.1.1 Virtual PC初体验8 2.1.2 创建你的第一个Virtual PC9 2.1.3 虚拟软盘研究12 2.1.4 虚拟软盘实战14 2.2 编译器(NASM & GCC)18 2.3 安装虚拟Linux19 2.4 在虚拟Linux上访问Windows文件夹26 2.5 安装虚拟PCDOS26 2.6 其他要素29 2.7 Bochs29 2.7.1 Bochs vs. Virtual PC vs. VMware30 2.7.2 Bochs的使用方法31 2.7.3 用Bochs进行调试33 2.7.4 在Linux上开发34 2.8 总结与回顾36 第3章 保护模式(Protect Mode)37 3.1 认识保护模式37 3.1.1 GDT(Global Des criptor Table) 42 3.1.2 实模式到保护模式,不一般的jmp45 3.1.3 描述符属性47 3.2 保护模式进阶50 3.2.1 海阔凭鱼跃50 3.2.2 LDT(Local Des criptor Table)58 3.2.3 特权级62 3.3 页式存储82 3.3.1 分页机制概述83 3.3.2 编写代码启动分页机制84 3.3.3 PDE和PTE85 3.3.4 cr388 3.3.5 回头看代码88 3.3.6 克勤克俭用内存90 3.3.7 进一步体会分页机制100 3.4 中断和异常107 3.4.1 中断和异常机制109 3.4.2 外部中断111 3.4.3 编程操作8259A113 3.4.4 建立IDT116 3.4.5 实现一个中断117 3.4.6 时钟中断试验119 3.4.7 几点额外说明121 3.5 保护模式下的I/O122 3.5.1 IOPL122 3.5.2 I/O许可位图(I/O Permission Bitmap)123 3.6 保护模式小结123 第4章 让操作系统走进保护模式125 4.1 突破512字节的限制125 4.1.1 FAT12126 4.1.2 DOS可以识别的引导盘131 4.1.3 一个最简单的Loader132 4.1.4 加载Loader入内存133 4.1.5 向Loader交出控制权142 4.1.6 整理boot.asm142 4.2 保护模式下的“操作系统”144 第5章 内核雏形146 5.1 用NASM在Linux下写Hello World146 5.2 再进一步,汇编和C同步使用148 5.3 ELF(Executable and Linkable Format)150 5.4 从Loader到内核155 5.4.1 用Loader加载ELF155 5.4.2 跳入保护模式161 5.4.3 重新放置内核170 5.4.4 向内核交出控制权175 5.4.5 操作系统的调试方法176 5.5 扩充内核184 5.5.1 切换堆栈和GDT184 5.5.2 整理我们的文件夹191 5.5.3 Makefile191 5.5.4 添加中断处理200 5.5.5 两点说明218 5.6 小结219 第6章 进程221 6.1 迟到的进程221 6.2 概述222 6.2.1 进程介绍222 6.2.2 未雨绸缪——形成进程的必要考虑222 6.2.3 参考的代码224 6.3 最简单的进程224 6.3.1 简单进程的关键技术预测225 6.3.2 第一步——ring0→ring1227 6.3.3 第二步——丰富中断处理程序243 6.3.4 进程体设计技巧254 6.4 多进程256 6.4.1 添加一个进程体256 6.4.2 相关的变量和宏257 6.4.3 进程表初始化代码扩充258 6.4.4 LDT260 6.4.5 修改中断处理程序261 6.4.6 添加一个任务的步骤总结263 6.4.7 号外:Minix的中断处理265 6.4.8 代码回顾与整理269 6.5 系统调用280 6.5.1 实现一个简单的系统调用280 6.5.2 get_ticks的应用286 6.6 进程调度292 6.6.1 避免对称——进程的节奏感292 6.6.2 优先级调度总结300 第7章 输入/输出系统302 7.1 键盘302 7.1.1 从中断开始——键盘初体验302 7.1.2 AT、PS/2键盘304 7.1.3 键盘敲击的过程304 7.1.4 解析扫描码309 7.2 显示器325 7.2.1 初识TTY325 7.2.2 基本概念326 7.2.3 寄存器328 7.3 TTY任务332 7.3.1 TTY任务框架的搭建334 7.3.2 多控制台340 7.3.3 完善键盘处理346 7.3.4 TTY任务总结354 7.4 区分任务和用户进程354 7.5 printf357 7.5.1 为进程指定TTY357 7.5.2 printf()的实现358 7.5.3 系统调用write()361 7.5.4 使用printf()363 后记366 参考文献369 附录书中的章节和代码对照表370
本书在详细分析操作系统原理的基础上,用丰富的实例代码,一步一步地指导读者用C语言和汇编语言编写出一个具备操作系统基本功能操作系统框架。本书不同于其他的理论型书籍,而是提供给读者一个动手实践的路线图。书中讲解了大量在开发操作系统中需注意的细节问题,这些细节不仅能使读者更深刻地认识操作系统的核心原理,而且使整个开发过程少走弯路。全书共分7章。 本书适合各类程序员、程序开发爱好者阅读,也可作为高等院校操作系统课程的实践参考书。 折叠 作品目录 第1章 马上动手写一个最小的"操作系统"1 1.1 准备工作1 1.2 10分钟完成的操作系统1 1.3 Boot Sector3 1.4 代码解释3 1.5 水面下的冰山5 1.6 回顾6 第2章 搭建你的工作环境7 2.1 虚拟计算机(Virtual PC)7 2.1.1 Virtual PC初体验8 2.1.2 创建你的第一个Virtual PC9 2.1.3 虚拟软盘研究12 2.1.4 虚拟软盘实战14 2.2 编译器(NASM & GCC)18 2.3 安装虚拟Linux19 2.4 在虚拟Linux上访问Windows文件夹26 2.5 安装虚拟PCDOS26 2.6 其他要素29 2.7 Bochs29 2.7.1 Bochs vs. Virtual PC vs. VMware30 2.7.2 Bochs的使用方法31 2.7.3 用Bochs进行调试33 2.7.4 在Linux上开发34 2.8 总结与回顾36 第3章 保护模式(Protect Mode)37 3.1 认识保护模式37 3.1.1 GDT(Global Descriptor Table) 42 3.1.2 实模式到保护模式,不一般的jmp45 3.1.3 描述符属性47 3.2 保护模式进阶50 3.2.1 海阔凭鱼跃50 3.2.2 LDT(Local Descriptor Table)58 3.2.3 特权级62 3.3 页式存储82 3.3.1 分页机制概述83 3.3.2 编写代码启动分页机制84 3.3.3 PDE和PTE85 3.3.4 cr388 3.3.5 回头看代码88 3.3.6 克勤克俭用内存90 3.3.7 进一步体会分页机制100 3.4 中断和异常107 3.4.1 中断和异常机制109 3.4.2 外部中断111 3.4.3 编程操作8259A113 3.4.4 建立IDT116 3.4.5 实现一个中断117 3.4.6 时钟中断试验119 3.4.7 几点额外说明121 3.5 保护模式下的I/O122 3.5.1 IOPL122 3.5.2 I/O许可位图(I/O Permission Bitmap)123 3.6 保护模式小结123 第4章 让操作系统走进保护模式125 4.1 突破512字节的限制125 4.1.1 FAT12126 4.1.2 DOS可以识别的引导盘131 4.1.3 一个最简单的Loader132 4.1.4 加载Loader入内存133 4.1.5 向Loader交出控制权142 4.1.6 整理boot.asm142 4.2 保护模式下的"操作系统"144 第5章 内核雏形146 5.1 用NASM在Linux下写Hello World146 5.2 再进一步,汇编和C同步使用148 5.3 ELF(Executable and Linkable Format)150 5.4 从Loader到内核155 5.4.1 用Loader加载ELF155 5.4.2 跳入保护模式161 5.4.3 重新放置内核170 5.4.4 向内核交出控制权175 5.4.5 操作系统的调试方法176 5.5 扩充内核184 5.5.1 切换堆栈和GDT184 5.5.2 整理我们的文件夹191 5.5.3 Makefile191 5.5.4 添加中断处理200 5.5.5 两点说明218 5.6 小结219 第6章 进程221 6.1 迟到的进程221 6.2 概述222 6.2.1 进程介绍222 6.2.2 未雨绸缪--形成进程的必要考虑222 6.2.3 参考的代码224 6.3 最简单的进程224 6.3.1 简单进程的关键技术预测225 6.3.2 第一步--ring0→ring1227 6.3.3 第二步--丰富中断处理程序243 6.3.4 进程体设计技巧254 6.4 多进程256 6.4.1 添加一个进程体256 6.4.2 相关的变量和宏257 6.4.3 进程表初始化代码扩充258 6.4.4 LDT260 6.4.5 修改中断处理程序261 6.4.6 添加一个任务的步骤总结263 6.4.7 号外:Minix的中断处理265 6.4.8 代码回顾与整理269 6.5 系统调用280 6.5.1 实现一个简单的系统调用280 6.5.2 get_ticks的应用286 6.6 进程调度292 6.6.1 避免对称--进程的节奏感292 6.6.2 优先级调度总结300 第7章 输入/输出系统302 7.1 键盘302 7.1.1 从中断开始--键盘初体验302 7.1.2 AT、PS/2键盘304 7.1.3 键盘敲击的过程304 7.1.4 解析扫描码309 7.2 显示器325 7.2.1 初识TTY325 7.2.2 基本概念326 7.2.3 寄存器328 7.3 TTY任务332 7.3.1 TTY任务框架的搭建334 7.3.2 多控制台340 7.3.3 完善键盘处理346 7.3.4 TTY任务总结354 7.4 区分任务和用户进程354 7.5 printf357 7.5.1 为进程指定TTY357 7.5.2 printf()的实现358 7.5.3 系统调用write()361 7.5.4 使用printf()363 后记366

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值