东北大学分布式操作系统课件.ppt
分布式操作系统,东北大学软件研究所于 戈2006年2月,2006-2-28东北大学软件所 于戈,第0章 操作系统回顾,2,主要参考书,Distributed Systems Principles and Paradigms,Andrew S.Tanenbaum,Maarten van Steen,清华大学 出版社,2002年,2006-2-28东北大学软件所 于戈,第0章 操作系统回顾,3,其它参考书,Modern Operating Systems,第2版,Andrew S.Tanenbaum,机械工业出版社,2002,2006-2-28东北大学软件所 于戈,第0章 操作系统回顾,4,其它参考书,Solaries 操作系统内核 Solaries编程指南Linux 操作系统内核 Linux编程指南Windows NT 操作系统内核 Windows NT编程指南,第0章 操作系统回顾,2006-2-28东北大学软件所 于戈,第0章 操作系统回顾,6,0.1 计算机系统结构0.2 操作系统概念0.3 操作系统历史0.4 操作系统结构0.5 操作系统调用,主要内容,2006-2-28东北大学软件所 于戈,第0章 操作系统回顾,7,0.1 计算机系统结构,应用程序系统程序硬件,2006-2-28东北大学软件所 于戈,第0章 操作系统回顾,8,计算机系统结构,2006-2-28东北大学软件所 于戈,第0章 操作系统回顾,9,硬件结构,2006-2-28东北大学软件所 于戈,第0章 操作系统回顾,10,硬件结构,一台简单PC机的构件单总线结构,Monitor,Bus,2006-2-28东北大学软件所 于戈,第0章 操作系统回顾,11,Pentium机系统结构,多总线结构,2006-2-28东北大学软件所 于戈,第0章 操作系统回顾,12,CPU(中央处理单元),(a)三阶段流水线(管道)结构(b)超标量(superscalar)CPU,n+2 n+1 n,整形 浮点 逻辑,2006-2-28东北大学软件所 于戈,第0章 操作系统回顾,13,存储器,典型存储器层次结构数字为近似值,2006-2-28东北大学软件所 于戈,第0章 操作系统回顾,14,硬盘结构,扇区、磁头、柱面,2006-2-28东北大学软件所 于戈,第0章 操作系统回顾,15,内存,(a)单地址空间(b)多地址空间,2006-2-28东北大学软件所 于戈,第0章 操作系统回顾,16,IO设备,I/O设备分类块设备 block device;字符设备 character device特例(例如:时钟、存储映象显示器)I/O设备通常由机械部件和电子部件组成电子部件称为设备控制器或适配器(Adaptor),OS仅跟控制器(或 通道)打交道,2006-2-28东北大学软件所 于戈,第0章 操作系统回顾,17,IO中断方式,(a)启动 I/O设备和接受中断的步骤(b)中断处理步骤,(a),(b),2006-2-28东北大学软件所 于戈,第0章 操作系统回顾,18,DMA方式,DMA控制器负责所有的读写操作,2006-2-28东北大学软件所 于戈,第0章 操作系统回顾,19,一台扩展的计算机隐藏了具体的硬件细节,高级的抽象为用户提供了一台容易使用的虚拟的计算机一个资源管理器每个程序分享时间每个程序分享空间,0.2 操作系统概念,2006-2-28东北大学软件所 于戈,第0章 操作系统回顾,20,进程管理,进程树(process tree)进程A 创建两个子进程:B和 CB 又创建三个子进程:D,E,和 F,进程:一个运行的程序,包含内核映像和上下文。,2006-2-28东北大学软件所 于戈,第0章 操作系统回顾,21,进程调度与同步,(a)潜在死锁(b)实际的死锁.,2006-2-28东北大学软件所 于戈,第0章 操作系统回顾,22,进程间通信(IPC),连接两个进程的管道(pipe),2006-2-28东北大学软件所 于戈,第0章 操作系统回顾,23,文件管理,计算机系的文件系统结构,2006-2-28东北大学软件所 于戈,第0章 操作系统回顾,24,文件目录,(a)在安装(mount)floppy之前,不能访问Floppy上的文件(b)将floppy 安装到 b之后,Floppy上的文件成为文件系统的一部分,2006-2-28东北大学软件所 于戈,第0章 操作系统回顾,25,0.3 操作系统发展历史,第一代 1945-1955电子管,插件板第二代 1955-1965晶体管,批处理系统第三代 1965 1980集成电路(IC)和多道程序设计第四代 1980 现在VLSI,个人计算机,网络操作系统,2006-2-28东北大学软件所 于戈,第0章 操作系统回顾,26,50年代计算机,CPU,控制台,打印机,纸带机,2006-2-28东北大学软件所 于戈,第0章 操作系统回顾,27,80年代计算机,日本富士通公司技术展示室,并行服务器,64个CPU,2006-2-28东北大学软件所 于戈,第0章 操作系统回顾,28,90年代计算机,美国LANL实验室6000节点的MPP计算机,2006-2-28东北大学软件所 于戈,第0章 操作系统回顾,29,TOP500 List(2005.1),2006-2-28东北大学软件所 于戈,第0章 操作系统回顾,30,性能发展趋势,2006-2-28东北大学软件所 于戈,第0章 操作系统回顾,31,操作系统的分布,2006-2-28东北大学软件所 于戈,第0章 操作系统回顾,32,早期批处理系统 第2代,将卡片装入 1401机的读卡机将卡片中的程序读入磁带将磁带装入 7094机,完成计算将磁带装入 1401机,打印结果,2006-2-28东北大学软件所 于戈,第0章 操作系统回顾,33,FMS 的JOB结构,Fortran Monitor System,2006-2-28东北大学软件所 于戈,第0章 操作系统回顾,34,多道程序系统 第3代,内存中的三个作业(job),2006-2-28东北大学软件所 于戈,第0章 操作系统回顾,35,操作系统家族,大型机操作系统(e.g IBM OS/390)服务器操作系统(e.g.UNIX,Windows XP)多处理机(并行计算机)操作系统分布式操作系统PC机操作系统(e.g Widows)实时操作系统(e.g VxWorks)嵌入式操作系统(e.g Windows CE)Smart card操作系统(e.g JVM),2006-2-28东北大学软件所 于戈,第0章 操作系统回顾,36,0.4 操作系统结构,单体式(monlithic)系统的结构模型主过程:处理服务过程请求服务过程:执行系统调用实用过程:支持服务过程,Main ProceduresService ProceduresUtility Procedures,2006-2-28东北大学软件所 于戈,第0章 操作系统回顾,37,单体式结构,例:UNIX 系统,2006-2-28东北大学软件所 于戈,第0章 操作系统回顾,38,层次式结构,THE操作系统结构(荷兰,E.Dijkstra),2006-2-28东北大学软件所 于戈,第0章 操作系统回顾,39,虚拟机结构,VM/370系统(IBM)多道程序(CMS,conversational monitor system)扩展界面计算机(virtual machine monitor)JVM(JAVA 虚拟机,SUN),2006-2-28东北大学软件所 于戈,第0章 操作系统回顾,40,客户/服务器结构,微内核结构IPC机制内存管理,低级的进程管理和调度低级的IO,2006-2-28东北大学软件所 于戈,第0章 操作系统回顾,41,微内核结构,例:Windows 2000,低级的进程管理和调度低级的IO,2006-2-28东北大学软件所 于戈,第0章 操作系统回顾,42,分布式客户/服务器结构,分布式系统中的客户/服务器(client/server)模型位置透明性,2006-2-28东北大学软件所 于戈,第0章 操作系统回顾,43,0.5 操作系统的系统调用,POSIX操作系统进程管理,2006-2-28东北大学软件所 于戈,第0章 操作系统回顾,44,文件操作,2006-2-28东北大学软件所 于戈,第0章 操作系统回顾,45,目录管理,2006-2-28东北大学软件所 于戈,第0章 操作系统回顾,46,其它的系统调用,2006-2-28东北大学软件所 于戈,第0章 操作系统回顾,47,系统调用步骤(System Call),共11步,完成系统调用read(fd,buffer,nbytes),2006-2-28东北大学软件所 于戈,第0章 操作系统回顾,48,进程管理,shell语言编写的命令执行器:while(TRUE)/*永远重复执行*/type_prompt();/*显示提示符*/read_command(command,parameters)/*从终端接受命令*/if(fork()!=0)/*fork 子进程*/*父进程代码*/waitpid(-1,/*执行命令*/,2006-2-28东北大学软件所 于戈,第0章 操作系统回顾,49,内存管理,进程的三种内存段:text,data,stack,2006-2-28东北大学软件所 于戈,第0章 操作系统回顾,50,文件管理,在连接之前的两个目录在执行连接调用link(“/usr/jim/memo”,”/usr/ast/note”)之后的两个目录,I-node,2006-2-28东北大学软件所 于戈,第0章 操作系统回顾,51,文件管理,mount之前的文件系统 mount(“/dev/fd0”,”/mnt”,0);(b)mount之后的文件系统,2006-2-28东北大学软件所 于戈,第0章 操作系统回顾,52,Win32 API调用,2006-2-28东北大学软件所 于戈,第0章 操作系统回顾,53,操作系统研究,ACMhttp:/IEEE Computer Society http:/USENIXhttp:/,2006-2-28东北大学软件所 于戈,第0章 操作系统回顾,54,小结,操作系统是计算机系统的重要组成操作系统是资源管理器不同的计算机硬件上配备有不同类型的操作系统操作系统的典型结构有单体式和客户/服务器式最典型的操作系统Unix和Windows,2006-2-28东北大学软件所 于戈,第0章 操作系统回顾,55,习 题,在Windows NT上,用C/C+编写举例的shell程序;在Unix系统上,用C/C+编写举例的shell程序;比较Windows NT和Unix中在主要调用接口上的异同点?,