学习笔记——OS基本知识

首先,操作系统(Operating System,OS)是配置在计算机硬件上的第一层软件。可以把操作系统定义为:一组能有效地组织和管理计算机硬件和软件资源,合理地对各类作业进行调度,以及方便用户使用的程序集合。

1.1操作系统的目标及作用

目标:

         方便性:主要是方便不同用户使用,如普通用户要求图形化界面,提高使用效率;程序设计人员用高级语言编写程序等。

         有效性:提高系统资源利用率,如利用I/O操作时间处理其他任务;提高系统吞吐量,如合理安排流程,缩短运行周期。

         可扩充性:方便增添新的功能与模块,以及对原有功能和模块进行修改。

         开放性:主要是指遵循世界标准规范,如OSI国际标准,解决计算机硬件与软件兼容性问题。

作用:

         1.作为用户与计算机硬件系统之间的接口

            含义:用户通过OS使用计算机系统。或者说,用户在OS帮助下能够方便、快捷、可靠地操纵计算机硬件和运行自己的                程序。

            用户通过三种方式使用OS,如下图:

            

            系统调用是操作系统提供给应用程序使用内核功能的接口,只能通过应用程序间接使用。如部分使用系统调用的库函数。

         2.作为计算机系统资源的管理者

            通俗地说,OS是计算机系统中多种硬件与软件资源“的大管家”。

            处理机管理:用于分配与控制处理机;

            存储器管理:负责内存的分配与回收;

            I/O设备管理:负责I/O设备的分配与操纵;

            文件管理:用于实现对文件的存取、共享与保护。

         3.作为扩充机器,并实现对计算机资源的抽象

            无软件的OS--->覆盖一层I/O管理软件--->覆盖一层文件管理软件--->覆盖一层GUI--->......

推动OS发展的主要动力:

         1.不断提高计算机资源利用率和系统吞吐率,如多道批处理系统、SPOOLing系统、虚存技术。

         2.方便用户,如人-机交互、GUI。

         3.器件的更新换代,如微机芯片8位->16位->32位->64位,相应的OS8位->16位->32位->64位。

         4.计算机体系结构的不断发展,如处理机系统、计算机网络。

         5.不断提出新的应用需求,如看电影、游戏、安全性。

1.2操作系统的发展过程

无操作系统--->单道批处理系统--->多道批处理系统--->分时系统--->实时系统--->微机操作系统

1.3操作系统的基本特性

并发:

         正式这一特征,才使得OS能有效提高系统中的资源利用率,增加系统吞吐量。

         并发性:同一时间间隔有两个或多个事件发生;

         并行性:同一时刻有两个或多个事件发生;

         为了实现程序并发执行,引入进程。

共享:

         指系统中的资源可供内存中多个并发执行的进程使用。在宏观上,既限定时间(进程在内存期间),也限定地点(内                   存)。

        共享的两种方式:

                   互斥共享方式:打印机、磁带机、系统中的大多数物理设备、栈、变量及表格。只能被互斥共享,即一段时间内,                       只能供一个进程访问。这种资源被称为临界资源(一段时间内,只允许一个进程访问的资源)。

                   同时访问方式:磁盘、可重入码编写的文件。可同时共享,即在一段时间内,多个进程“同时”对它们访问。

并发和共享做为OS的两个最基本的特征,互为存在条件。

虚拟:

         通过某种技术将一个物理实体变为若干个逻辑上的对应物。前者为实物,实际存在;后者为虚的,是用户感觉上的。

         (1)时分复用技术:利用某设备为一用户服务的空闲时间,转去为其他用户服务,使设备充分利用。

                1)虚拟处理机技术:一台处理机,分时为多个用户服务。即利用多道程序设计技术,将一台物理上的处理机虚拟为多                       台逻辑上处理机。

                2)虚拟设备技术:如虚拟I/O设备、虚拟打印机等。利用分时技术,将一台物理I/O设备虚拟为多台逻辑上的I/O设备。

         (2)空分复用技术:利用存储器的空闲时间分区域存放和运行其它的多道程序,提高内存利用率。

                虚拟存储技术:内存的分时复用,使用户程序的各个部分分时地进入内存运行。

         速度及空间均为1/N,其中N为虚拟的逻辑设备数。

异步:

         在多道程序环境下,系统允许多个进程并发执行。由于资源因素及环境特点,如I/O操作、时间片轮转等,使进程的执行不可能“一气呵成”,而是以“停停走走”的方式运行。

        在并发环境下,程序的执行顺序、开始时间及结束时间是不确定的(不可准确预知),即程序的异步性。

        只要OS有完善的进程同步机制,且运行环境相同,则作业经多次运行,总能获得相同的结果。

1.4操作系统的主要功能

处理机管理功能

主要功能:创建和撤销进程,对诸进程的运行进行协调,实现进程之间的信息交换,以及按照一定的算法把处理机分配给进程。

                1.进程控制:为作业创建进程、撤销已结束进程,以及控制进程在运行过程中的状态转换。

                2.进程同步:为多个进程的运行进行协调。两种方式:进程互斥方式(临界资源的访问,加锁)和进程同步方式(相                                         互合作的进程,有条有序的执行,信号量机制)

                3.进程通信:实现相互合作的进程之间的信息交换。

                4.调度:作业调度(从后备队列(若干作业)—>就绪队列(建立进程))

                           进程调度(就绪队列—>执行(分配处理机,设置运行现场))

存储器管理功能

1.内存分配和回收:为每道程序分配必要的内存空间以及回收不用的内存空间。

2.内存保护:每道程序的运行内存互不干扰;不允许用户程序访问系统的程序和数据,以及用户程序到非共享的内存。

3.地址映射:将地址空间中的逻辑地址转换为内存空间中与之对应的物理地址。

4.内存扩充:借助虚拟存储技术,从逻辑上扩充内存容量,下面两种机制使得用户感觉内存容量比实际的大得多。

                  机制:请求调入(内存中仅有部分程序和数据即可执行,之后将需要的再调入内存)

                             置换功能(将内存中暂时不用的一部分程序和数据调入硬盘,以腾出内存空间)

设备管理功能

1.缓冲管理:有效地缓和CPU和I/O设备速度不匹配的问题。

2.设备分配:根据用户进程的I/O请求、系统现有情况及按照某种设备分配策略,为之分配所需的设备。

3.设备处理:用于CPU和设备控制器之间的通信,即CPU向设备控制器发出I/O命令,要求它完成指定的I/O操作。

4.虚拟设备:将实际的物理设备虚拟为多个逻辑上的设备

文件管理功能

1.文件存储空间的管理:分配外存空间、设置数据结构以及对存储空间进行分配与回收。

2.目录管理:为每个文件建立一个目录项、实现文件共享以及快速目录查询。

3.文件的读/写管理和保护:

                    读/写管理:由于读和写操作不会同时进行,故可合用一个读/写指针。

                    保护:防止非法用户存取文件;防止不正确方式使用文件。

OS与用户之间的接口

1.用户接口(命令接口):由一组键盘操作命令及命令解释程序组成。

2.程序接口(系统调用):为用户在执行中访问系统资源而设置的,是用户程序取得OS服务的唯一途径。

                                          由一组系统调用组成,每一个系统调用都是一个能完成特定功能的子程序。

3.GUI:图形用户接口,各种图标,形象方便。

1.5操作系统结构

传统OS结构:无操作系统—>模块化结构OS—>分层次结构OS

         无操作系统:由众多的过程直接构成,只注重功能的实现和获得高的效率,缺乏首尾一致的思想。

                              OS庞大杂乱;程序难以理解与维护。

         模块化OS:即模块—接口法,将一定的功能划分为众多模块,之间通过接口实现交互。

                            高内聚(各模块的独立性)、低耦合(相互联系和相互影响的程度)

                             OS可维护性提高、加速开发过程;各模块之间的接口难以设计、各模块的“无序性”。

         分层次OS:将模块—接口法的无序性变为有序性,自底向上铺设中间层。下层通过层间接口为上层提供服务。

                            保证正确性、易扩充和易维护;系统效率低,分层单向依赖。

客户/服务器模式OS:三部分构成,客户机、服务器以及网络系统。客户机与服务器之间通过消息机制进行多次通信。

                                   客户机发出请求;服务器被动地等待来自客户机的请求。

                                   数据的分布式处理和存储;灵活性和可扩充性。

                                  存在着不可靠性和瓶颈问题。一个服务器一旦出故障,整个网络将瘫痪。服务器重负荷,响应时间延长。

面向对象的程序设计:封装、继承和多态。

                                   通过“重用”提高产品质量和生产率;系统的易修改性和易扩展性;正确性和可靠性。

微内核OS结构:微内核并非一个完整的OS,而是将OS的最基本的部分放入微内核,而把绝大部分功能放在微内核外的一组服                               务器(进程)中实现。

                          放在微内核的基本功能:与硬件处理(CPU与I/O设备硬件相关)紧密相关的部分;一些较基本的功能;客户与                            服务器之间的功能。

                          机制(实现某一功能的具体执行机构)与策略(参数与算法)分离:机制放在微内核中。如进程管理、存储器                              管理及I/O管理等一分为二,将作为机制的那部分放入微内核中。

                          所有的服务器都是运行在用户态,服务器与服务器之间采用的是消息传递通信机制,当某个服务器出现问题                                  时,不会影响内核,也不会影响其他服务器。

                         

                        微内核的缺点:效率降低。在完成一次客户对OS提出的服务请求时,需要利用消息实现多次交互和进行用户/内                            核模式与上下文的多次切换。

                        普通OS只需进行两次上下文切换:执行系统调用由用户态转向系统态;系统完成服务,由系统泰转向用户态。

                        

                        而微内核中至少需要经过4次上下文切换。下面通过一个例子理解。

                        客户机请求文件服务器服务,文件服务器需要磁盘服务器帮助。需要进行8次上下文切换

                        也就是说,客户与各个服务器之间交互,必须通过微内核,即客户—>微内核—>服务器。

                        

 

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值