操作系统读书笔记(二)——操作系统结构

本文是基于《操作系统概念》第七版的读书笔记,详细介绍了操作系统为用户和程序提供的服务,系统调用的五大类别,以及操作系统结构的演变,包括分层结构、微内核和面向对象设计的优缺点。

注: 这是对 [Abraham Silberschatz. 操作系统概念 第七版. 高等教育出版社, 2010.1] 一书的概述性阅读笔记

      同时也是对学校操作系统课程部份作业的整理

 

CH2 操作系统结构

 

1.操作系统服务

操作系统提供执行程序的环境,向程序和程序的用户提供一定的服务。

操作系统服务向用户提供以下的函数以方便操作:提供用户界面以方便用户进行控制;提供程序执行接口以将程序装入内存并运行;提供I/O操作接口来提高文件读写效率和进行保护;提供文件系统操作以便于创建、删除文件及列出文件信息;提供通信函数以使同一计算机内或不同计算机之间的进程之间能够交换信息;提供错误检测以应对不同种类的错误并采取适当的动作。

操作系统同时也提供以下函数确保系统本身高效运行:资源分配函数位多个用户或多个作业分配各种计算机资源;统计函数记录资源使用情况以用于记账或供研究使用统计数据;保护和安全确保所有对系统资源的访问是受控的,保证系统不受外界侵犯。

 

2.系统调用

系统调用提供了操作系统提供的有效服务界面,应用程序开发人员根据应用程序接口(API)来设计程序,在后台组成API的函数通常为实际的系统调用,系统调用接口截取API的函数调用,并调用操作系统调用,然后返回系统调用状态和参数。

系统调用可分为五类:

    (1)进程控制

    系统调用实现进程的创建、终止、中断、重置、取得和设置进程属性,等待事件,唤醒事件,分配和释放内存,一部分系统调用也提供转储内存信息以助于调试。

    (2)文件管理

    系统调用提供对文件的创建、删除、打开、读写、重定位、关闭操作,对于目录式的结构也需要有系统调用完成相应目录的创建、删除、修改操作。           

    (3)设备管理

    程序执行时需要使用内存、磁盘等硬件资源,程序请求资源,系统在资源可用时允许请求。操作系统管理的资源可视作设备看待,其中包含物理设备和可以作为抽象的设备,用户请求设备,使用设备,并在使用完后释放设备,对设备管理的系统调用类似于文件的打开关闭的系统调用。

    (4)信息维护

    许多系统调用用于用户程序与操作系统之间传递信息,比如返回当前时间日期、系统版本、空闲内存等,有些系统调用可以访问读取和设置进程属性。

    (5)通信

    通信通过消息传递和共享内存2种模型实现。消息传递模型中通信双方可以是同一CPU中的不同进程也可以是不同计算机之间的2个进程,由系统调用来完成进程名与标识符的转换、通信与接收通信、交换信息、中止通信等操作;在共享内存模型中,进程通过系统调用来获得其他进程的内存区域访问权,共享内存方式允许最大速度通信并十分方便但在保护和同步方面存在问题。

 

3.操作系统结构

为了正常工作并能易于修改,现代操作系统通常设计为多个小模块而不是一个单块系统,每个模块都是明确定义的系统部分

最初商业系统没有明确定义的结构,都是较小、简单且功能有限的系统,但后来逐渐超出其范围,没有被仔细划分为模块,这种简单结构使得系统易受错误的伤害,也难以进一步增强。

在适当硬件支持下操作系统可以通过分层方法进行模块化,将操作系统分为若干层,最底层为硬件,最高层为用户接口,操作系统层可作为抽象对象实现,典型操作系统层由数据结构及可供上一级调用的子程序集合做成,其能够调用下一层的操作,分层方法构造和调试简单,简化了系统设计和实现,但对层的详细定义较困难,也存在效率较差的问题。

微内核是一种模块化内核的技术方法,它将非基本的内容从内核中抽走,并实现为系统程序或用户程序,而微内核的主要功能则是使客户程序和各种服务进行通信,客户程序与服务器不直接交互而是通过微内核完成,微内核使得操作系统便于扩充,新服务在用户空间即可增加而不需要修改内核,系统可移植性和安全性也更好,但对于微内核系统功能总开销的增加将带来系统性能的下降。

最新的操作系统设计方法是通过面向对象编程技术生成模块化的内核,内核含有一组核心部件及启动或运行时对附加服务的动态链接。这种设计允许内核提供核心服务,也能动态地实现特定功能。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值