陈向群《现代操作系统》考研复习笔记.pdfVIP

陈向群《现代操作系统》考研复习笔记.pdf

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

抽象的概念,实现以及如何使用它解决问题

0.概述

(1)操作系统的概念

对操作系统的定义,有两种说法,一种声称操作系统是计算机的

扩展器,一种声称操作系统是计算机资源集的抽象。

所谓操作系统是计算机的扩展,是将操作系统当做计算机对外的

接口。对外包括对应用程序,对程序员,对用户。操作系统对计算机

进行“化妆”,将计算机“丑陋晦涩”的硬件对外隐藏,而向外呈现

界面友好清晰,更易理解的操作系统。如下图所示:

所谓操作系统是计算机资源集的抽象,是指操作系统将计算机资

源(处理器,存储器以及I/O设备等)进行抽象以及管理。将CPU处

想象其对你工作的意义,能不能打什么比方更好理解,能不能融会贯通

抽象的概念,实现以及如何使用它解决问题

理抽象为进程,将内存抽象为地址空间,磁盘抽象成文件。而这一切

抽象都是为了实现多道程序设计,即可以在一个计算机上同时运行多

个互不干扰程序。

(2)操作系统的作用

操作系统的主要任务是在相互竞争的程序之间有序地控制对处理

器、存储器以及其他I/O接口设备的分配。其主要任务包括管理资源

分配,评估使用代价和调节资源分配的冲突,记录哪个程序在用什么

资源,用多少,用多久。资源管理包括用以下两种不同方式实现多路

复用:在时间上复用(进程调度:CPU时间片轮转)和在空间上复

用(内存管理:虚拟内存,页面置换;磁盘管理:文件系统)。在时

间上分配CPU资源需要考虑该进程在上面运行多久,下一次切换到哪

一个进程。在空间上分配存储空间需要考虑给每个进程分配多少内存,

如果内存不足的时候,将哪个页面置换到磁盘以腾出空间。

操作系统的主要功能:为用户程序提供抽象和管理计算机资源。

用户程序和操作系统之间的交互处理是前者。用户程序和操作系统之

间的交互主要是处理抽象。对于管理计算机资源系统(进程调度,内

存置换等)一般自动完成。所以主要是用户程序与操作系统的交互。

用户程序通过操作系统提供的接口来访问底层的系统。操作系统提供

一种特殊的过程调用——系统调用,该种过程调用可以由用户态陷入

内核态对底层进行操作。比如可以创建和退出进程,打开和读写文件

想象其对你工作的意义,能不能打什么比方更好理解,能不能融会贯通

抽象的概念,实现以及如何使用它解决问题

等。目前主要由以下几种系统调用函数——进程管理,文件管理,目

录和文件系统管理以及其他。常用的系统调用可以参见下表:

(3)为什么要了解操作系统

之前跟同事说我没有修过操作系统,想补补操作系统,同事说操

作系统工作中很少用,我当时想学习操作系统也跟我学习数据结构后

想象其对你工作的意义,能不能打什么比方更好理解,能不能融会贯通

抽象的概念,实现以及如何使用它解决问题

一个感觉——很难很有趣但是工作中用不着。而老大却一再跟我说,

让我打好基础,好好补补操作系统,计算机网络等基础课程。而我自

己看了操作系统之后,突然恍然大悟,oh,原来学习数据结构就是为

了学习操作系统呀呀呀~~(*^__^*)嘻嘻……

瞎扯完,言归正传。我当时学习操作系统源于工作中遇到一个父

子进程共享文件描述符的坑。这个坑坑得我好惨啊,因为其具有偶发

性,而且完全没有日志迹象查询,只知道在入口处数据就莫名其妙丢

了。之前同事也遇到过这种情况,只是定位怀疑有一段代码存在问题,

总是觉得那段fork子进程的代码有问题,后来因为这个bug复现少,

所以也不了了之。后来因为系统用得越来越多,这个问题复现概率大

大提高,于是开始打日志,每一个操作都打日志,最后在老大的英明

神武下,发现了原来是在fork子进程之前没有关闭父进程使用的队列

连接。如果没有老大,估计打死我也不知道如何解决这个问题。因为

我完全不知道这个基础知识。虽然后来老大跟我说了父子进程共享文

件描述符的知识,也说了数据可能被子进程的队列连接socket的

handle读走了。但是我还是似懂非懂,于是乎,我决定好好补补操作

文档评论(0)

梁学玉 + 关注
官方认证
文档贡献者

中专学生

认证主体宁夏三科果农牧科技有限公司
IP属地宁夏
统一社会信用代码/组织机构代码
91640500MABW4P8P13

1亿VIP精品文档

相关文档