新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     >>计算机科学论坛<<     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> 操作系统研究。UEFI
    [返回] 计算机科学论坛计算机理论与工程『 操作系统原理 』 → [华章新书预览] 计算机的心智:操作系统之哲学原理 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 9720 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: [华章新书预览] 计算机的心智:操作系统之哲学原理 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     admin 帅哥哟,离线,有人找我吗?
      
      
      
      威望:9
      头衔:W3China站长
      等级:计算机硕士学位(管理员)
      文章:5255
      积分:18406
      门派:W3CHINA.ORG
      注册:2003/10/5

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给admin发送一个短消息 把admin加入好友 查看admin的个人资料 搜索admin在『 操作系统原理 』的所有贴子 点击这里发送电邮给admin  访问admin的主页 引用回复这个贴子 回复这个贴子 查看admin的博客楼主
    发贴心情 [华章新书预览] 计算机的心智:操作系统之哲学原理

    本书集中精力对操作系统的核心内容进行分析,包括操作系统发展的历史背景、进程与线程、内存管理、文件系统、输入与输出、多核环境下的进程调度和操作系统设计。本书用大量生活实例,生动解释了操作系统中的主要难点和模糊点:锁的实现、同步机制的发展轴线、纯粹分段到段页式的演变、多核环境下的进程同步与调度和操作系统设计等内容,而放弃了对操作系统核心以外内容,如安全、多媒体系统、虚拟机技术、光盘技术等的论述。本书重点突出、逻辑清晰、内容连贯,便于学生顺利掌握操作系统的核心内容。.

    本书层次丰富、涵盖操作系统的所有核心内容,适合作为国内高校计算机及相关专业本科生操作系统课程的教材,也是了解计算机操作系统原理不可多得的参考书。..

    这是一个瞬息万变的时代。

    分布式计算的脚步渐行渐远,网格计算的热潮逐步退却,云计算和云存储正慢慢揭开面纱……在所有的变化中,不变的是这些计算的支柱:操作系统!能否深刻理解它也许会决定云时代的“浮沉”。

    本书从生活哲学的视角对操作系统的原理进行阐述,通过逻辑推理演绎操作系统核心技术的奥秘,讨论范围包括操作系统的所有基础内容:背景与历史。进程与线程、通信与同步、调度与死锁,分页与分段。磁盘与文件。输入与输出等。此外,作者以新颖的组织方式讲解了锁的实现、同步机制的发展逻辑。从分段到段页式的演变、多核环境下的同步与调度、操作系统设计的原则。

    本书对操作系统原理的讨论充满趣味性:每一章都力求细致地阐明一个主题,将通俗的哲学原理和逻辑推理贯穿子每一个主题,构成全书的有机整体,并适当地引入计算机组成和编译器知识,揭示操作系统在程序运行中发挥的作用,把读者对操作系统的理解带到一个崭新酌境界。...

    China-pub主页:http://www.china-pub.com/45560


       收藏   分享  
    顶(0)
      




    ----------------------------------------------

    -----------------------------------------------

    第十二章第一节《用ROR创建面向资源的服务》
    第十二章第二节《用Restlet创建面向资源的服务》
    第三章《REST式服务有什么不同》
    InfoQ SOA首席编辑胡键评《RESTful Web Services中文版》
    [InfoQ文章]解答有关REST的十点疑惑

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2009/4/16 21:10:00
     
     admin 帅哥哟,离线,有人找我吗?
      
      
      
      威望:9
      头衔:W3China站长
      等级:计算机硕士学位(管理员)
      文章:5255
      积分:18406
      门派:W3CHINA.ORG
      注册:2003/10/5

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给admin发送一个短消息 把admin加入好友 查看admin的个人资料 搜索admin在『 操作系统原理 』的所有贴子 点击这里发送电邮给admin  访问admin的主页 引用回复这个贴子 回复这个贴子 查看admin的博客2
    发贴心情 
    前言

    当你在电脑上玩游戏的时候,当你在电脑上与朋友聊天的时候,当你编写了一个程序并加载运行的时候,你有没有一种像观看魔术的感觉?一个人编写的程序能够编译运行,计算出结果,并显示或打印出来。你有没有觉得它很神秘?
    如果想揭开这层神秘的面纱,你就得学习操作系统。
    因为操作系统是掌控计算机运行的系统,学习它将为读者展示程序在计算机上运行的全景,或者是我们所认为的全景。之所以这么说,是因为精确展示程序在计算机上运行的全景是极其困难的(有人认为根本就是不可能的)。当然,这里的程序指的是有一定规模的程序,而不是那种只有几行代码的琐细程序(trivial program)。从某种程度上说,没有人敢说自己明白计算机在任何一个时刻所处的状态。例如,在多流水线计算机上,如果发生中断或异常, 我们根本就得不到一个精准的状态。唯一能做的就是推倒重来。
    图1风靡世界的游戏“第二生命”:你有没有想过它是怎么在运行的?

    1计算机的心智
    人有心智吗?我想所有人都会回答有!人的心智就是人的灵。这是造物主赋予每一个人的生命之气。就是这个灵气赋予了人丰富的思维、感受、和行动能力(当然,有人认为这是肉体进化的结果,不过这不是本书要讨论的问题)。
    那么计算机有心智吗?这不是一个诡秘或者搞笑的问题。
    人们通常认为能够运动的生命都是有灵的,既然计算机能够完成一些人脑才能够完成的理性任务,它当然也有心智!而这个心智就是操作系统。

    因为操作系统赋予了计算机以活力。虽然读者有可能尚不明白操作系统是怎么一回事,但也许知道没有操作系统,现代计算机是运转不起来的(这里需排除远古时代的古老计算机)。操作系统作为计算机赖以运转的控制中心,称其为计算机的心智可谓恰如其分。

    众所周知,理解或看透一个人的心智是很困难的,所谓的画虎画皮难画骨,知人知面难知心。依次类推,既然操作系统是计算机的心智,理解起来恐怕也是困难重重的了。而这,正是许多人在学习研究操作系统时的共同感受。

    2天上的星星数不清吗?
    记得小时候常常念过的一首诗是这样的:

    从小时候就开始数了。
    数到懂事、数到成熟,
    还没有数清。
    天上的星星为什么数不清呢?
    像记忆和幻想,
    永远背负着固执的迷……

    对于许多大学计算机及相关专业的同学来说,操作系统就像是天上的星星,隐藏着一个固执的迷,永远也数不清楚或学不清楚。不过,操作系统真的弄不清楚吗?

    不是的。弄不清楚是因为你没有看到其背后的奥秘。这个奥秘不是所有的人都知道。即使是研究操作系统的人也不一定有意识的感觉它,初入计算机门者自然就更加不会注意了。


    那么这个奥秘是什么呢?

    天上的星星数不清是因为我们试图做的事情是数星星。如果我们换个角度,不去数星星,而是寻找到星星的设计师,让他告诉我们星星的数量,不就数清楚了吗?

    而这也正是学习操作系统的奥秘。要理解操作系统,我们就要寻找到操作系统的设计师们,让他们告诉我们操作系统所蕴含的所有秘密。当然,我们这里的寻找设计师并不是从物理上找来他们,因为真的寻找到所有的设计师们是不可能的。这里的设计师们指的是一种抽象,一种所有设计师们所共有的人生哲学,因为设计师们在设计操作系统时会自觉不自觉地将自己的思维或人生追求构造在操作系统里,从而赋予了操作系统以心智,而操作系统也就在此种心智的指挥下亘古运行着。

    3操作系统之哲学原理
    正如前面所述,让操作系统设计师们告诉我们秘密是理解操作系统的最好办法。而他们告诉我们所用的载体就是其所遵循的生活哲学,而这些生活哲学就是操作系统所遵循的哲学原理。
    本书就是试图从这些哲学原理(也就是人类生活哲学)的视角来阐述操作系统,从而揭开操作系统的神秘面纱,令其不再晦涩难懂。

    例如,CPU管理(进程与线程)、内存管理(虚拟存储)、外存管理(文件系统)、IO管理(输入与输出)等操作系统的核心机制不外乎是资源的管理,它们都遵循着一切人类资源管理的基本原则,即如何有效地发掘资源、监控资源、分配资源和回收资源。

    而除了提供管理的功能外,操作系统还需要保证自己的正常运转,即它必须尽力使得自身不发生失效或崩溃,因为这是能够提供其它一切功能的基础。而这也与人类确保自身健康生活是开发利用资源的前提一样。

    如果我们把握了资源的根本属性,明白资源管理必然涉及共享和竞争的管理,理解了操作系统必须首先保障自己的正常运转,就会理解操作系统的一切行为。前者指引着操作系统功能的设计与进化,后者则推动着操作系统可靠性的演变。

    而资源管理也好,保证自身的正确性也好,它们都有着根本的线索的。这条根本线索就是人类自身在长期的生活实践中摸索出来的管理人类社会和保障人类自身安全的各种办法。而这些办法是随着人类哲学思维的变化而改进的。因此,只要明白了人类的哲学思维,就能明白操作系统所遵循的哲学原理,也就能明白整个操作系统的设计与构造。

    除了使操作系统易于被理解外,从哲学的层面阐述操作系统之原理还有如下好处:

    操作系统可以变化,但支持其存在的哲学原理是不变的。这样,本书的内容可以在操作系统不断演变的环境下保持有效,而不会像其它书的内容,随着时间的推移而过时。
    对于很多人来说,操作系统所采取的机制、策略、和手段看上去十分枯燥,从哲学原理上进行讲解给它们赋予了人性的特点,使这些机制、策略、手段不再枯燥。

    通过将人生哲学与操作系统联系起来,从操作系统哲学原理的层次阐述操作系统的核心技术,就能够理解掌握操作系统的精髓。

    4本书内容安排
    本书为清楚地阐述操作系统之哲学原理,也为了使内容显得紧凑、逻辑上一气呵成,只选择了操作系统的核心内容进行分解,而放弃了对操作系统核心以外内容如安全、多媒体系统、虚拟机技术、光盘技术等的论述。本书集中精力对操作系统发展之历史背景、进程与线程、内存管理、文件系统、输入与输出、多核环境下的进程调度、和操作系统设计进行哲学原理上的分析与论述,而将安全、多媒体、虚拟机等技术留给别的专业书籍进行论述。

    本书对内容的这种安排有如下具体好处:
    1.可使本书重点突出、逻辑清晰、内容连贯,便于学生顺利掌握操作系统之核心关键。
    2.操作系统的核心内容经过经年的研究与实践,已经变得较为稳定并且形成了众所公认的标准,讲解起来没有歧义。
    3.操作系统的非核心部分由于研究的时间短,工业界参与的程度较低,并无公认的标准,论说起来要么不全面,要么显得凌乱,从而让刚刚接触操作系统的读者云头雾水。
    4.只要掌握了这些核心内容的原理,读者即掌握了自学操作系统核心以外知识的能力。

    本书内容覆盖中国教育部2008年颁布的《研究生考试大纲》操作系统部分包括的所有内容。全书一共分为7篇22章。7篇分别是基础原理篇、进程原理篇、内存原理篇、文件原理篇、输入输出篇、多核原理篇和操作系统设计篇。本书的内容结构如图4所示。

    图4 本书内容结构

    4.1基础原理篇
    基础原理篇包含操作系统导论、操作系统历史、和操作系统基本概念三章。第1章操作系统导论的内容包括智者的挑战、人造与神造、程序是如何运行的、什么是操作系统、魔幻与管理、用户程序与操作系统、操作系统范畴和为什么学习操作系统。第2章操作系统历史探讨操作系统演变的主要过程:从单一控制终端单一操作员、到批处理、到多道批处理、到分时操作系统、到实时操作系统、到现代操作系统;对商业操作系统演变之过程进行分析,然后探讨一下操作系统分类和操作系统的未来发展趋势。第3章操作系统基本概念则简要回顾计算机硬件基本知识、探讨什么是“抽象”,讲解用户态与内核态,阐述操作系统结构、系统调用、操作系统的壳等知识。

    4.2进程原理篇
    本篇对操作系统里面最为核心的概念进程进行讲解。本篇包括进程、线程、进程通信、进程同步、进程调度、锁的实现和死锁7章。第4章进程阐述的内容包括进程出现的逻辑必然性、多道编程的效率、进程的创建和消亡、进程的状态及其转换、进程与地址空间、进程管理、和进程模型的缺陷。第5章线程讲解的内容包括进程分身术-线程、线程管理、线程的用户态、内核态和混合态实现、现代操作系统的线程实现模型、多线程之间的关系、线程主要考虑的问题。第6章进程线程通信的内容包括为什么要通信、管道、记名管道、套接字、信号、信号量、共享内存、消息队列等。第7章同步的内容包括为什么同步、同步的目的、锁原语的进化、睡觉与叫醒原语、信号量、管程、消息传递和栅栏。第8章进程调度讲解的内容包括调度之目标、先来先服务、时间片轮转、短任务优先、优先级调度、混合调度、实时调度等算法,并对优先级倒挂和线程的不确定性进行讨论。第9章锁的实现讲述如何使用中断启用和禁止、测试与设置来实现锁原语。第10章对死锁的产生、发展、防止与避免进行讲解,并讨论死锁、活锁和饥饿的关系。

    4.3内存原理篇
    本篇对操作系统的另外一个重要构成部分内存管理进行阐述。本篇包括基本内存管理、页式内存管理、页面更换算法、段式内存管理4章。第11章基本内存管理讲述内存管理之环境、内存管理的目标、虚拟内存、操作系统在内存的位置、单道编程的内存管理、固定加载地址、多道编程的内存管理、固定分区、非固定分区、交换、地址翻译、闲置空间管理等内容。第12章页式内存管理的讲解内容包括基址极限的问题、分页管理、页表、页面翻译过程、分页管理系统的优缺点、多级页表、地址翻译速度、锁住页面、内存抖动和页面尺寸设计。第13章页面更换算法则对页面更换算法的来龙去脉、欲达到的目的、各种具体的页面更换算法进行细致讲解。第14章段式管理的内容包括分段管理系统、分段的优缺点、段号与寻址位数,并对否定之否定在内存管理模式发展过程中的作用进行讨论。

    4.4文件原理篇
    本篇对操作系统的第三个核心构件文件系统进行讲解。本篇包括磁盘管理、文件基础、文件实现和文件性能一共4章。第15章磁盘管理讲述的内容包括磁盘结构、磁盘访问速度、磁盘的操作系统界面、磁盘访问过程和磁盘调度。第16章文件基础讲述为什么需要文件系统、什么是文件系统、文件系统的目的、文件的基本知识、文件的存储结构、文件类型、文件访问、文件属性、文件操作、文件夹、相对与绝对路径、共享与链接、内存映射的文件等内容。第17章文件实现的内容包括文件系统分布、文件的实现、文件夹的实现、共享文件的实现、磁盘空间的管理等。第18章文件性能的内容包括文件安全性能(文件访问控制、访问控制表、能力表)、文件可靠性能(持久性、一致性、日志、交易、随影、一致性检查)和文件系统的效率性能(提前读取、减少磁臂移动距离、日志结构的文件系统LFS)。

    4.5输入输出篇
    本篇对计算机与外界进行沟通的机制输入与输出进行讲解。本篇仅有一章(第19章),讨论的内容包括输入输出的重要性和目的、输入输出硬件的哲学原理、物理IO模式(专有通道IO、内存映射的IO、复合IO、DMA)、输入输出软件之哲学原理、软件IO模式(可编程IO、中断驱动的IO、DMA)、IO软件分层、设备驱动程序等。

    4.6多核原理篇
    本篇对新出现的多核技术进行讲解。重点讨论多核环境给操作系统带来的影响。全篇分为多核结构和多核操作系统两章。第20章多核结构讲解的内容包括多核处理器结构(超线程结构、多核结构、多核超线程结构)、多核内存结构(UMA、NUMA、COMA、NORMA)、对称多核处理器计算机的启动过程、多处理器之间的通信、SMP缓存一致性等。第21章多核操作系统的内容包括多核进程同步、多核环境下的软件同步原语、旋锁及其实现、队列旋锁、多核环境下的进程调度、多核环境下的能耗管理和多核系统性能。

    4.7操作系统设计篇
    本篇从高屋建瓴的角度对操作系统设计的十条哲学原理进行阐述。显然,操作系统的设计原则有很多,本篇选取的是只是这诸多原则里面非常重要的十条。第22章将从操作系统和人类社会两个层面对这十条原理进行论述与比较,以使读者更加清楚地明白操作系统就是人类社会在计算机里面的反映。操作系统的其它设计原则读者可自行发现。

    5 本书的特点
    本书从哲学的视角对操作系统进行独到的阐述。从人类自然的行为规范推演到操作系统的设计,以一条逻辑轴线将整个操作系统的各种原理演绎到读者面前。本书的特点是抽象提升(即从哲学原理上阐述操作系统的各种原理与设计)、联系生活(即通过每个普通人都熟知的生活实例来分析操作系统)、模块整合(即将操作系统的各个模块通过举例联结起来)、逻辑贯通(即将OS的各种机制以一根逻辑轴线依次发展讲解)、和系统关联(即将涉及到的其它学科知识点如体系结构和编译器等嵌入进来)。从而达到内容上更加新颖、系统上更加完整、逻辑上更加连贯、解说上更加易懂、和层次上更加丰富的效果。

    读者在阅读学习完本书后,将达到如下几个效果:

    (1)了解操作系统在计算机软硬件整个体系中的中心主导作用
    (2)掌握操作系统的基本概念、原理、技术、和实现机制
    (3)理解操作系统原理背后的人文背景与历史动机
    (4)运用操作系统知识来分析和解决问题
    (5)掌握操作系统设计的原理,为以后设计操作系统打下基础

    这里需要提醒的是,本书阐述的是操作系统的原理,它不依赖于任何具体的实现,而是凌驾于所有具体商业操作系统的进程实现之上。即本书所阐述的思想和原理对所有操作系统都适用。但具体商业操作系统在应用这些原理时可以有很灵活的方式。事实上,具体的商业操作系统在应用这些原理时确实采取了不同的方式,有的更为精密,也有的偷工减料。另外,由于我们注重的是原理,对个体机制实现时采取的数据结构通常不做琐细的论述,而是点到为止。这是因为数据结构必须以真正的操作系统为蓝本进行讲解,而真正的商用操作系统使用的数据结构通常非常复杂,对此进行繁琐的讲解将把学生弄得晕头转向,而不利于对操作系统核心原理的把握。
    当然了,如果要达到能够设计开发真正商业操作系统的境界,读者还需要进行《操作系统工程》或《操作系统实现》的学习。而这种工程或实现的课程通常以具体的操作系统为对象进行讲述。这些具体操作系统可以是Windows、Unix、Linux,当然也可以是其它一些非主流商业操作系统。如果能够将本书阐述的原理与操作系统工程或实现相结合,将取得极好的效果。
    最后,本作者感谢下列人士为本书审阅书稿:上海交通大学的陈凌峰、张漳、顾夏申、徐燕和美国密歇根大学的鞠晓恩。其中陈凌峰和张漳将本人的讲课做了原始记录。
    现在就让我们一起来揭示秘密,数清操作系统里的星星吧。

    图3 理解操作系统有点类似于数清楚天上的星星图2计算机的心智就是操作系统

    ----------------------------------------------

    -----------------------------------------------

    第十二章第一节《用ROR创建面向资源的服务》
    第十二章第二节《用Restlet创建面向资源的服务》
    第三章《REST式服务有什么不同》
    InfoQ SOA首席编辑胡键评《RESTful Web Services中文版》
    [InfoQ文章]解答有关REST的十点疑惑

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2009/4/16 21:14:00
     
     秋十三 帅哥哟,离线,有人找我吗?
      
      
      等级:大三(要不要学学XML呢?)
      文章:124
      积分:593
      门派:XML.ORG.CN
      注册:2008/11/12

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给秋十三发送一个短消息 把秋十三加入好友 查看秋十三的个人资料 搜索秋十三在『 操作系统原理 』的所有贴子 引用回复这个贴子 回复这个贴子 查看秋十三的博客3
    发贴心情 
    顶 一下
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2009/10/21 23:35:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 操作系统原理 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/5/7 8:16:42

    本主题贴数3,分页: [1]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    62.500ms