您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 《操作系统结构分析及应用编程》第1章 概述
第1章概述1一个计算机系统由硬件和软件构成。计算机硬件软件计算机系统操作系统(OS-OperatingSystem)第1章概述2操作系统是计算机系统中最重要的系统软件。从用户环境的观点看操作系统为用户提供了使用计算机的接口:终端用户利用命令接口操作计算机;程序员利程序接口(API)编程;第1章概述3第一代:电子管计算机电子管电子管计算机第1章概述4从资源管理器的观点看高效管理计算机的软硬件资源,实现资源的有效利用。从虚拟机的观点看为用户提供一台更易于使用的计算机。主要功能:(1)监视资源第1章概述5(3)回收资源(2)分配资源从作业的组织观点看是作业的组织者和管理者。(4)保护资源第1章概述6操作系统的发展历程1.单道批处理阶段;2.多道批处理阶段;3.分时操作系统;4.实时操作系统;5.通用操作系统;第1章概述7操作系统还可以分为:1.分布式操作系统将大量的计算机通过网络被连结在一起,以获得极高的运算能力及广泛的数据共享。DistributedOperatingSystem第1章概述82.网络操作系统基于计算机网络,在各种计算机操作系统上按网络体系结构协议标准开发的软件,包括网络管理、通信、安全、资源共享和各种网络应用。其目标是相互通信及资源共享。NetworkOperatingSystem第1章概述93.嵌入式操作系统运行在嵌入式系统环境中,对整个嵌入式系统以及它所操作、控制的各种部件装置等资源进行统一协调、调度、指挥和控制的系统软件。程,并使整个系统能高效地运行。EmbededOperatingSystem第1章概述101.1计算机系统资源与操作系统硬件构成计算机的基础,为软件提供运行平台。软件扩展计算机硬件的功能,为用户提供使用计算机的环境。第1章概述11计算机硬件操作系统软件系统应用软件图1.1计算机系统机构第1章概述12常用名词术语:用户接口(也称命令接口)UserInterface应用编程接口APIApplicationProgramingSystem图形用户接口GUIGraphicalUserInterface第1章概述13虚拟机VirtualMachine第1章概述141.2操作系统的发展1.2.1推动操作系统发展的关键因素20世纪50年代第一个简单批处理系统延生;20世纪60年代中期产生了多道批处理系统延生;20世纪80年产生了微机操作系统和网络操作系统;第1章概述15推动操作系统发展的动因:1.计算机硬件的发展2.提供新的服务,方便使用3.提高计算机资源利用率4.更正OS软件的错误5.计算机体系结构的发展第1章概述161.2.2操作系统发展的几个典型转变1.2.3操作系统的进一步发展目前主要的操作系统有:Windows系列、Linux和UNIX操作系统嵌入式操作系统系列:WindowsCE、VxWorks第1章概述171.3现代操作系统的设计概要操作系统是一种软件,按软件包程的要求:需求分析系统设计编码实现产品测试图1.2软件设计的典型过程第1章概述18人们从外部对软件系统提出的期望:(1)软件能提供的服务;(2)提供这些服务需要满足的限制条件;(3)软件系统具有适应某些变化的能力;第1章概述191.3.1操作系统的功能性需求操作系统的主要功能是有效管理系统资源,合理控制工作流程,方便用户使用计算机。1.接口功能(1)命令接口(2)图形用户接口第1章概述20(3)程序接口2.处理器管理功能(1)进程控制(2)进程同步(3)进程通信(4)进程调度第1章概述213.存储器管理功能(1)内存分配①静态分配②动态分配(2)内存保护(3)地址映射(4)内存扩充第1章概述224.输入/输出设备管理功能(1)缓冲管理(2)设备分配(3)设备处理(4)虚拟设备第1章概述235.文件管理功能(1)目录管理(2)文件的逻辑管理与访问方式管理(3)存储空间的管理(4)文件共享与安全管理第1章概述241.3.2操作系统的非功能性需求1.系统性能或效率PerformanceOrEfficiency(1)处理器性能处理器在单位时间内完成的有效工作。(2)存储器性能第1章概述25(3)外部设备的性能(4)文件系统的性能2.资源利用率ResourceUtilizationRate3.公平性Fairness第1章概述264.可靠性Reliability5.安全性Security操作系统发生错误的概率。操作系统的非功能性需求还包括:(1)可伸缩性;(2)可扩展性;(3)可移植性;第1章概述271.3.3操作系统依赖的硬件平台1.时钟2.中断3.存储保护第1章概述281.3.4操作系统的体系结构所谓的操作系统体系结构是指操作系统是如何构成的。第1章概述29用户接口子系统应用软件基础平台子系统计算机硬件平台图1.4一种常见OS体系结构计算机用户第1章概述301.基础平台系统的结构风格之一(1)分层/分级(2)分块2.基础平台系统的结构风格之二单模式和多模式。所谓的模式是指程序运行时使用CPU的特权方式。第1章概述31核心子系统计算机硬件平台图1.5双模式基础平台子系统风格计算机用户核外子系统用户模式核心模式第1章概述323.微核结构1.3.5操作系统中的关键数据结构1.存储表用于记载物理内存和虚拟内存的相关信息。2.设备表第1章概述33用于管理计算机系统中所有的I/O设备和通道。3.文件表4.进程表用于管理计算机系统中所有文件的相关信息。用于管理计算机系统中所有进程的相关信息。第1章概述341.4Linux操作系统简介1.4.1Linux操作系统的起源及特性1991年8月由芬兰人(LinusTorvalds)发布。Linux是免费的32位的多用户多任务操作系统。第1章概述35Linux源代码完全公开,符合GNUGPL的原则。GNU源代码完全公开,符合GNUGPL的原则。GNU一个自由软件工程项目GPLGeneralPublicLicense第1章概述36Linux的特点:(1)易管理:采用层式目录结构,文件归类清楚、容易管理。(2)良好的开放性:支持多种文件系统。(3)可移植性好:90%以上的源代码采用C语言编写。第1章概述37(4)虚拟内存和共享库。(5)GNU软件的支持。所谓的共享库是指可以共享标准子过程,从而节约系统空间。第1章概述381.4.2Linux操作系统运行的基本硬件平台(1)Intel80386或以上;(2)ISA、EISA或PCI总线;(3)至少4M内存,运行X-Windows至少需要8M;(4)至少150M硬盘,全部安装需250M硬盘;第1章概述39(5)支持大部分显卡;(6)真正的三键鼠标;第1章概述401.4.3主流Linux操作系统版本介绍(1)RedHatLinux;(俗称“红帽子”)(2)CalderaOpenLinux;(3)SuSELinux;(4)TurboLinux;第1章概述411.5Linux的系统调用分析1.5.1什么是系统调用系统调用是指由操作系统提供的一系列服务程序供用户调用。1.5.2系统调用的作用系统调用是用户访问操作系统的唯有效的方法一。第1章概述42方便用户开发应用程序。1.5.3系统调用的工作原理Intel80386定义了2种工作模式:实模式和保护模式。1.5.4Linux系统调用的相关数据结构1.arch/i386/kernel/entry.S第1章概述43该文件包含系统调用、异常的低层处理程序、信号量识别程序等。(1)系统调用入口函数system_call(2)系统调用返回函数ret_from_system_call(3)系统调表sys_call_table第1章概述442.arch/i386/kernel/tarp.c该文件包含系统中若干出错处理程序。3.arch/i386/kernel/unistd.h是一个C库文件,其中定义了Linux的所有系统调用。第1章概述451.6Linux的系统调用设计1.6.1添加一个系统调用1.系统调用设计时所需要的实验环境Page252.设计步骤(1)确定系统调用名称mysyscall第1章概述46确定系统调用中的相关名称:系统调用编号名字:_NR_mysyscall系统调用实现程序名字:sys_mysyscall3.设计实现(1)添加统调用号文件/usr/include/unistd.h:第1章概述47……#define_NR_set_tid_address258#define_NR_mysyscall259……(2)在系统调用表中添加相应表项文件/usr/src/linux-2.4/arch/i386/kernal/entry.S:第1章概述48ENTRY(sys_call_table)…….longSYMBOL_NAME(sys_mysyscall)……(3)sys_mysyscall的实现文件/usr/src/linux-2.4/kernal/sys.c第1章概述49在文件sys.c的末尾添加:……Asmlinkageintsys_mysyscallE(intnum){printf(“ThisisMysystemcall.”returnnum;}(4)编译内核sys.c,重新启动计算机
本文标题:《操作系统结构分析及应用编程》第1章 概述
链接地址:https://www.777doc.com/doc-3159719 .html