说明:该系类文章更多的是从从哲学视角看 操作系统 这门学科。同时也是 操作系统的学习笔记总结。因为博主 这些年主要是以研究安卓系统和 嵌入式Linux为主,因此这个系类文章也是这两个领域不可或缺的基石之一,尤其是对操作系统感兴趣的伙伴可特别关注。


1 操作系统导论

1.1 人造学科

一个角度看待所有事物分为两类:发明(创造)与发现(观察)

计算机本身就是一个人造学科,人造学科的4个特点,如下:

  • 不精确,有相对性:没有对错,只有适合/不适合
  • 从对人类活动的观察导出:对事物的观察与抽象
  • 依赖于人的主观判断力;人不同,看待事物的角度不同,抽象出来的对象不同,因此,对于标准,只是少数服从多数
  • 符合人的直觉:如果按照我们的意愿去理解这些原理,则十分直接了当

相对人造学科,神造学科具有的4个相反的特点:

  • 精确、绝对:只有对错,没有中间状态,例如数学领域
  • 从对自然的观察导出:通过自然现象严密推理获得自然的规律
  • 不依赖人的主观判断力:所有人的观察结果是一样的,即观察结果可以被任何人验证
  • 违反人的直觉:人类的思想和自然本身是不同的,需要通过观察发现规律,利用规律来推导结论,而不是主观臆断

操作系统是一个人造学科,因此要按照人造事物的特点来学习。

1.2 程序是如何运行的

从图中了解到,程序运行至少需要4个因素:

  • 程序设计语言
  • 编译系统
  • 操作系统(在程序的执行过程中具有关键的作用)
  • 指令集结构(计算机硬件系统)

1.3 什么是操作系统

操作系统(OS)的概念:一个介于计算机硬件和应用软件之间的一个软件系统,目的就是使得计算机变得好用,运作有序。操作系统的位置如果所示:

操作系统要做的事情:

  • 计算机的功能和复杂性在不断发生变化,掌控的事情越来越多,也越来越发杂,本身能够拥有的资源也会越来越多,因此需要不断改善。利用操作系统会使事情变得相对简单些,即操作系统升级的时候改动量降到最低。
  • 知晓计算机上发生的所有事情,从而维护计算机,保证计算机的健康。
  • 为了满足人类更加苛刻的要求,不断发展。

操作系统的功能:

  • 代替用户以及应用管理计算机上的软件、硬件资源。
  • 保证计算机资源的公平竞争和使用。
  • 防止对计算机资源的非法侵占和使用。
  • 保证操作系统自身正常运转。

1.4 魔术与管理

操作系统在计算机运行过程中扮演的角色:魔术师和管理者。

  • 魔术师:将丑陋变得美好,将少变多,将无变有。但是这并不是凭空想象,而是运用了类似于能量转换的一种方式,或者说是巧妙地拿空间来换取时间、拿时间来换取空间。
  • 管理者:对资源进行管理以达到公平,有效。

根据管理的资源不同,具体功能包括:

  • CPU管理:如何分配CPU给不同的应用和用户。
  • 内存管理:如何分配内存给不同的应用和用户。
  • 外存管理:如何分配外存给不同的应用和用户。
  • I / O管理:如何分配输入输出设备给不同的应用和用户。

除了对资源进行管理和抽象,还需要保证自身的稳定,那么还需要包括2项:

  • 健壮性管理:如何确保操作系统自身的正常运作。
  • 安全性管理:如何防止非法操作和入侵。

为了完成上述功能,人们设计了很多机制,而这些东西的背后隐含的是人类的哲学思想。

1.5 用户程序与操作系统

第一个视角:用户程序调用操作系统,如下所示:

应用程序调用系统API完成功能应用程序是主程序,操作系统被调用。

第二个视角:操作系统调用用户程序,如下所示:

操作系统先启动,是主程序,之后是调用各种应用程序,最后回到操作系统。

说明:两种观点无对错,只是角度问题,导致不同的观点。实际上操作系统和各个应用程序是可以看作是相互调用,从而形成一个非常复杂的动态关系。

1.6 操作系统的范畴

操作系统的具体任务:

@1 CPU管理(进程管理):

  • 公平:每个程序都有机会使用CPU
  • 非阻塞:阻塞不能妨碍其他进程继续前进
  • 优先级:优先级高的程序运行,则优先级低的必须让出资源

@2 内存管理:管理缓存、主存、磁盘、磁带等存储介质形成的内存架构。虚拟内存将时间转换为空间,同时对于物理内存需要进行分割和保护,即不能越界。

@3 存储管理(文件系统):将磁盘变成用户很容易使用的媒介。

@4 设备管理:管理输入输出设备。

@5 操作系统提供的机制:

  • 屏蔽不同设备的差异,方便用户访问;
  • 提供并发访问,使设备具有共享性
  • 批处理:无须人机交互的模式,主要是达到吞吐量最大化,单位时间完成的任务最多。

1.7 为什么学习操作系统

操作系统的功能、技巧、思想、哲学理念在很多领域内使用,是源于生活的一种抽象,而这为触类旁通学习其他东西来讲容易多了。

操作系统哲学原理(01)基础原理- 操作系统导论相关推荐

  1. ogg mysql的原理_OGG基础原理了解

    一. GoldenGate介绍 GoldenGate软件是一种基于日志的结构化数据复制软件.GoldenGate 能够实现大量交易数据的实时捕捉.变换和投递,实现源数据库与目标数据库的数据同步,保持亚 ...

  2. 操作系统哲学原理(22)操作系统设计原理-操作系统设计之哲学原理

    说明:该系类文章更多的是从从哲学视角看 操作系统 这门学科.同时也是 操作系统的学习笔记总结.因为博主 这些年主要是以研究安卓系统和 嵌入式Linux为主,因此这个系类文章也是这两个领域不可或缺的基石 ...

  3. java 线程 操作系统线程_线程基础:线程(1)——操作系统和线程原理

    1.概述 我在写"系统间通信技术专栏"的时候,收到很多读者的反馈.其中有一部分读者希望我抽空写一写自己关于对Java线程的使用经验和总结.巧的是,这个月我所在的技术团队也有很多同事 ...

  4. 操作系统之哲学原理12----文件原理

    文件是操作系统为磁盘提供的抽象. 磁盘原理 磁盘就是形状像盘子的磁性存储介质. 磁盘的结构: 磁盘由多个盘片组成,每个盘片有两个盘面,正反两面都可以存放数据. 每个盘面一个读写磁头,所有读写磁头连在一 ...

  5. 操作系统哲学原理 前言总纲解读

    说明:该系类文章更多的是从从哲学视角看 操作系统 这门学科.同时也是 操作系统的学习笔记总结.因为博主 这些年主要是以研究安卓系统和 嵌入式Linux为主,因此这个系类文章也是这两个领域不可或缺的基石 ...

  6. 图解linux内核设计艺术,Linux内核设计的艺术:图解Linux操作系统架构设计与实现原理...

    Linux内核设计的艺术:图解Linux操作系统架构设计与实现原理 作者:新设计团队 出版日期:2011年05月 文件大小:29.01M 支持设备: ¥6.00在线试读 适用客户端: 言商书局 iPa ...

  7. 提升计算机性能 操作系统原理角度,浅析计算机操作系统原理

    1.操作系统概述 我们从功能.组成.特征.结构4个方面对操作系统进行介绍. 1)功能: 从用户角度讲,操作系统是一个管理应用程序的控制程序,管理应用程序: 从资源管理角度讲,操作系统是管理外设.分配资 ...

  8. Linux内核设计的艺术:图解Linux操作系统架构设计与实现原理

    为什么80%的码农都做不了架构师?>>>    Linux内核设计的艺术:图解Linux操作系统架构设计与实现原理 本书使用高分辨率精心绘制的300多张图片,帮助大家理解操作系统特有 ...

  9. 计算机系统设计原理pdf百度云,计算机操作系统教程--核心与设计原理习题1答案.pdf...

    计算机操作系统教程--核心与设计原理习题1答案.pdf (4页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 习题 1 1.1 什么是操作系统 ...

  10. 转移指令的原理01 - 零基础入门学习汇编语言43

    第九章:转移指令的原理01 让编程改变世界 Change the world by program 引言 8086CPU的转移指令分为以下几类: 无条件转移指令 (如:jmp) 条件转移指令 循环指令 ...

最新文章

  1. sqlserver怎么查看索引_Sql Server之旅——第六站 为什么都说状态少的字段不能建索引...
  2. 用typedef定义函数指针类型(转)
  3. Keras保存和载入训练好的模型和参数
  4. Geospark从Shapefile中加载RDD
  5. WebService实例-CRM系统提供WebService实现用户注册功能
  6. 程序员是青春饭吗 - CSDN分享会笔记
  7. linux pandas教程_竞赛中的Docker使用教程
  8. 从新手机到老股票 闲鱼为何会沦为骗子与营销的新平台?
  9. python检验阿姆斯特朗数_python 之九九乘法表,润年,奇偶数,阿姆斯特朗数判断分享...
  10. Cassandra 之旅 (二) Getting Started
  11. 解读Depth Map Prediction from a Single Image using a Multi-Scale Deep Network (6)
  12. 手机wifi java_Android中使用WIFI来连接ADB
  13. java实现登录注册界面
  14. vuejs搭建的项目对于ie浏览器的处理
  15. dos下的硬盘检测工具MHDD图文教程
  16. 大数据分析与应用技术创新平台
  17. cad怎么设置线的粗细_AUTOCAD中如何设置线宽
  18. Android 人脸解锁源码剖析
  19. 蓄电池外壳如何执行EN45545防火试验
  20. 西邮Linux兴趣小组纳新笔试试题

热门文章

  1. mathtype输入latex的花体,如L,I,O等
  2. rtthread-TMF8801激光测距芯片
  3. 操作系统资源的最大限制(1)
  4. “定海神针”标杆作用显著,cpc黄金或确立运行区间
  5. Hexo博客美化日记 || Amnesia’s Blog
  6. 邳州市运河中学2021高考成绩查询,徐州2021高考成绩排名榜单,徐州各高中高考成绩喜报...
  7. Cesium入门04-图层变换
  8. 东财《劳动法X》综合作业
  9. PHP中goto的使用方法
  10. #地理人,计量地理学,Excel制作洛伦兹曲线