现代操作系统第一章绪的论PPT.ppt

  1. 1、本文档共98页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
现代操作系统第一章绪的论PPT

* 度量单位 度量前缀 Yotta 1000000000000000000000000 1024 Zetta 1000000000000000000000 1021 Exa 1000000000000000000 1018 Peta 1000000000000000 1015 Tera 1000000000000 1012 Giga 1000000000 109 Mega 1000000 106 Kilo 1000 103 前缀 显式 指数 * 小结 操作系统可以从两个观点来观察:资源管理器和扩展的机器。 从资源管理器的观点来看,操作系统的任务就是有效地管理系统的不同部分。 从扩展的机器的观点来看,系统的任务就是为用户提供虚拟的机器,比使用实际的机器更加方便。 操作系统有着很长的历史,从替代操作员那天开始,到现代的多道程序系统。包括早期的批处理系统、多道程序系统和个人计算机系统。 * 小结 由于操作系统与硬件密切相关,掌握一些计算机硬件的知识有助于理解操作系统。 计算机由处理器、存储器和I/O设备组成。这些部分由总线相连。 所有操作系统的基本概念包括进程、存储器管理、I/O管理、文件系统和安全。这些都将在后面的章节中论及。 * 小结 任何操作系统的核心都是一组系统调用,这些调用知道操作系统实际做些什么。对于UNIX,我们了解了四组系统调用。第一组系统调用是与进程创建和终止有关的。第二组针对文件读写。第三组为目录管理。第四组包含杂项调用。 操作系统的构造有很多方式。最一般的包括整体式系统、层次式系统、虚拟机系统、exokernel以及使用客户机-服务器模型。 * 进程管理的系统调用 接着看如下的一条命令: cp file1 file2 上面的命令用于将file1复制到file2。在外壳程序派生后,子进程定位并执行文件cp,而且将源文件名和目标文件名传递给它。 cp的主程序(以及大多数其他C语言的主程序)都包含如下的声明: main(argc, argv, envp) 其中argc是指命令行中有多少个条目,包括程序名在内。如上面的命令,argc为3。 第二个参数argv是一个数组的指针。元素i是指命令行中第i个字符串。在上面的例子中,argv[0]指向字符串“cp”,argv[1]指向字符串“file1”,而argv[2]指向字符串“file2”。 main的第三个参数envp是指向环境的指针,包含形如name = value格式的赋值字符串数组,用于诸如终端类型以及程序的原目录名之类的信息。在上例中,没有环境传递给子进程,因此execve的第三个参数为0。 * 进程管理的系统调用 UNIX中进程的内存被分为三段:文本段(text segment)(即程序代码),数据段(data segment)(即变量)以及堆栈段(stack segment)。其中数据段向上增长,而堆栈段向下增长,如下图所示。 它们之间为未使用的地址空间间隔。如果需要的话,堆栈自动向间隔增长;而数据段的扩展要通过系统调用brk来显式地实现。brk用于指定数据段结束的新地址。 * 进程管理的系统调用 进程有三个段: 正文、数据和堆栈 * 文件管理的系统调用 读或写一个文件,首先要用open打开该文件。该文件指定要打开的文件名(绝对路径名或相对路径名都可以),以及使用O_RDONLY, O_WRONLY和RDWR代码表示打开读、写或者读写。要创建新文件,使用O_CREAT。返回的文件描述符可以用于随后的读或写操作。然后,通过close可以关闭文件。而文件描述符还可以再次用于open操作。 * 目录管理的系统调用 有两个用户,ast和jim,每个人都有其自己的目录,内有一些文件。现在,如果ast执行一个程序包含下面的系统调用: link(“/usr/jim/memo”, “/usr/ast/note”); jim目录下的文件memo现在就进入ast的目录中了,并且名字为note。此后,/usr/jim/memo和/usr/ast/note就是指同一个文件。 * 目录管理的系统调用 link(“/usr/jim/memo”, “/usr/ast/note”); (a) 两个目录链接之前。 (b) 链接后的目录 * 目录管理的系统调用 mount系统调用可以把两个文件系统合并为一个。一般情形是将公用命令的二进制(可执行)版本和其他经常使用的文件包含在硬盘的根文件系统中。然后用户可以在软盘驱动器中插入软盘进行读操作。 执行mount系统调用,软盘文件可以连接到根文件系统上,如下图所示。典型的执行mount的C语句如下: mount(“/dev/fd0”, “/mnt”, 0); 其中第一个参数是驱动器0的块特殊文件名,第二个参数是装配在树中的位置,而

文档评论(0)

liwenhua00 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档