再次拿起《现代操作系统》这本书,精心仔细阅读,又有了几点体会记录一下。

操作系统的功能或者说职责:向下管理资源,向上提供服务接口。OS作为中间层软件。操作系统涉及到的主要内容有进程和线程、文件系统、死锁、内存管理、I/O管理等。

进程和线程涉及到概念、区别、类别等,进程是存在输入输出和状态的一段正在执行的程序,是动态的而非仅仅是静态的程序。进程就涉及到其运行、阻塞和就绪的生命周期,其实程序方面很多都存在生命周期,例如java的诸多框架中例如spring中存在对象的生命周期,structs中请求存在生命周期等。进程中重要的概念是进程表,存储在内存中,其单位是进程表项即entry,看到entry就想起了java中集合类中的entry内部类,java的内部类被很多人推崇而同时又被另外一些人所诟病,其实进程表是所有在内存中的和不再内存中的进程的reference,其内保存了进程的状态数据,说实话表看来真的很给力,在很多地方会看到表的广泛应用和巨大威力,例如数据库的基层就是表当然是关系型数据库,新的NoSQL类型打破了一些传统,例如在网络中表格也起着格式存储数据的作用,现实生活中表格也是重要的。对于线程,有两点很让我感兴趣的方面,一个是用户空间中的线程模型和内核空间中的线程模型,不同的模型应用到了不同的实际操作系统中。另一个是进程之间的通信和同步互斥机制,涉及到中断机制、忙等待、原语、生产者-消费者模型、PV操作、互斥量、管程、屏障等概念。还有进程需要调度算法来进行调度的,因为内存资源有限而且为了最大地提高运行效率最大的利用CPU而导致诸多调度算法,例如先来先服务算法、最短作业优先、最短剩余时间优先、彩票调度等。哲学家就餐问题和读者-写者问题资料也很多。还有进程的互斥和同步、阻塞和非阻塞、同步和异步之间的区别我找了半天才明白。

进程阻塞和非阻塞的区别:http://www.zhihu.com/question/19732473

进程的互斥和同步:http://blog.chinaunix.net/uid-26748613-id-3201137.html

进程的同步与异步:http://blog.sina.com.cn/s/blog_8c0c9acd0101cp3u.html

内存管理方面,涉及到虚拟内存机制、MMU、TLB、分页和分段机制、页面置换算法等问题。我从这章深切体会到两点:一,问题是充满矛盾的,经常是没有最终确定的答案,最重要的分析的过程,提出一种方案分析其涉及的方面,他的优点和缺点,有很多解决方法但是没有完美方案,就像没有银弹一样。哲学中矛盾是一大核心,也是其一些理论支撑的基础,现实中矛盾是无时无刻不有的;第二,在操作系统中,进程/线程是对实际CPU的抽象,地址空间是对物理内存的抽象,文件是对物理内存的抽象,I/O流是对硬件输入输出设备的抽象。而抽象和模拟一直是我对计算机、网络、操作系统、语言等方面的核心认识,而在抽象之后就需要增删改查、管理、优化算法等方面,整个操作系统就是讲这些东西。

文件系统中涉及到磁盘、磁盘管理、文件系统存储模式、高速缓存等。文件系统就联系到数据结构中学到B树、B+树、B*树等数据结构知识。

I/O处理方面,包括中断处理系统、设备驱动程序、与设备无关的I/O软件、用户级I/O软件等软件方面内容和I/O硬件例如DMA、设备驱动、设备控制等。一大感受是DMA控制器中有地址寄存器、计数寄存器、控制寄存器,DMA可以进行独立访问总线,可以进行存储,可以进行控制,不能进行计算,这不就相当于缩减版的CPU吗?他确实分担了部分CPU的工作使得CPU可以做其他工作以提高其利用率。这其中中断起着关键作用,中断控制器属于计算机系统结构方面知识,可是他起着中断接受、排队、屏蔽等作用。

死锁应该是最激动人心的方面,因为诸多算法在其中啊。为了避免死锁,设置安全状态和非安全状态,使用多维度轨迹路线算法,使用银行家算法,并且创建了打破死锁状况的方法,当然书中坦言没办法避免死锁,因为进程是动态,所需资源无法预计,资源是否能用不确定。我比较喜欢算法研究,所以激动人心啊。

总之,操作系统是一种管理软件,他特别像公司,公司的员工是硬件资源,而公司的制度便是这个系统,然而制度是为了做什么的?为了有效配置人员,为了提高效率啊。操作系统也是啊,为了管理资源,为了最大的提高效率,为了给应用软件提供接口。他是一个平台,是软件的根基,是一种先进的理念。

现代操作系统读书笔记相关推荐

  1. 计算机操作系统读书笔记

    第一章 操作系统引论 1.操作系统的基本特性 1.1.并发 并行:并行是指两个或多个事件在同一时刻发生. 并发:两个或多个事件在同一时间间隔内发生. 进程:在系统中能独立的运行并作为资源分配的基本单位 ...

  2. 30天自制操作系统读书笔记(三)

    来吧.第三天. 制作真正的IPL: 作者又是那样,一上来就甩一堆代码,用他的话猜测,下面这段代码应该是用来装载下一个512字节的内容的. MOV AX,0x0820MOV ES,AXMOV CH,0 ...

  3. 计算机操作系统读书笔记___信号量机制

    前言进程同步,衍生阅读互斥和同步区别,互斥锁读写锁自旋锁条件变量 目录 一.信号量机制 1.1 背景 1.2 整型信号量 1.3 记录型信号量 1.4 AND型信号量 1.5 信号量集 一.信号量机制 ...

  4. 《自己动手写操作系统》读书笔记——初识保护模式

    <自己动手写操作系统>读书笔记--初识保护模式 http://www.cnblogs.com/pang123hui/archive/2010/11/27/2309930.html 书本第三 ...

  5. [操作系统] 操作系统真相还原读书笔记三:MBR加载loader到内存并跳转到loader执行

    为什么要有loader程序? 通过操作系统真相还原读书笔记二:编写MBR主引导记录我们已经能够正常运行MBR主引导记录(有些书籍也叫做boot)程序了,但该程序什么也没做.我们的MBR 受限于 512 ...

  6. 【读书笔记】知易行难,多实践

    前言: 其实,我不喜欢看书,只是喜欢找答案,想通过专业的解答来解决我生活的困惑.所以,我听了很多书,也看了很多书,但看完书,没有很多的实践,导致我并不很深入在很多时候. 分享读书笔记: <高效1 ...

  7. 《一个操作系统的实现》读书笔记连载ing……

    从昨天起深陷<一个操作系统的实现>这个书不能自拔,这本书可以说再次燃起了我小时候想写操作系统的美好愿望,所以说愿望总是美好的,还进入了大学开始真正去学计算机才发现似乎写操作系统是和我没什么 ...

  8. 学习Unix,可从事什么样的工作(1)《精通Unix下C语言与项目实践》读书笔记(3)...

    <精通Unix下C语言编程与项目实践>读书笔记(new) 文章试读 不拘一个遍程序系列:编程序不能一个脑袋钻到底,有时要学会变通,即所谓的曲线救国.一.二.三.四 职场规划:一些杂七杂八的 ...

  9. pro git读书笔记

    pro git读书笔记 起步 三种区域以及三种状态 Git 项目有三个工作区域的概念:工作目录,暂存区域以及Git 仓库 工作目录是我们用来修改文件的目录,是对项目的某个版本独立提取出来的内容 暂存区 ...

  10. 《C#本质论》读书笔记(18)多线程处理

    .NET Framework 4.0 看(本质论第3版) .NET Framework 4.5 看(本质论第4版) .NET 4.0为多线程引入了两组新API:TPL(Task Parallel Li ...

最新文章

  1. springboot集合jpa使用
  2. 郭的好象在推销,实在内容很少.
  3. 简单的C++程序题总结
  4. 利用金山快盘云服务搭建自己的SVN服务器
  5. 初次联系导师短信模板_2020考研复试:提前联系导师的6点注意事项(附邮件模板)...
  6. 了解回归:迈向机器学习的第一步
  7. jzoj6290-倾斜的线【计算几何,贪心】
  8. Jquery中$(document).ready(function(){ })函数的使用详解
  9. 面向对象——三层架构(表现层、业务层、持久层)
  10. 豆瓣9.0,35万读者“搜不到信息”的神秘作者,我们帮你找到了
  11. 滤波效果_各种电源滤波电路分析
  12. 非等高cell实战--实现微博页面
  13. excel 时间戳_用Excel实战数据分析,WPS真的可以!
  14. react 实用项目分享-mock server
  15. arduino 可以用c_lt;开源项目gt;Arduino+STM32+SIM868 用一天创造一款可以定位的GPRS无线开关...
  16. 有人一起用沙雕情侣头像吗?
  17. 2021年全国省市区街道代码自动同步(包含解决方案)
  18. java 修改exif_java – 操作图像而不删除其EXIF数据
  19. 基于环信的开源即时通讯项目
  20. JNPF快速开发平台-业务流程系统(BPM)开发方案

热门文章

  1. VUE页面中加载外部HTML
  2. JDK 1.8 官网下载地址(linux / windows)
  3. Smart3D三维建模操作笔记
  4. 新车「智能化+安全」进入纵深区,艾拉比OTA成高频词
  5. 科研神器----数据提取软件WebPlotDigitizer的使用
  6. 代码行数统计工具cloc
  7. STM32基础知识及环境搭建
  8. Pr插件大全一键安装包视频剪辑必备工具预设
  9. 将你的掘金小册制作成一整本PDF
  10. 消息中间件-ActivityMQ系列文章-入门及例子