1.cpu管理就是进程管理
有3个原则:
- 公平:每个程度都有机会用到cpu
- 非阻塞:任何程序不能无休止的阻挠别的程序运行,比如一个程序运行过程中需要输入数据而发生阻塞,那么这个进程不能阻碍别的程序运行
- 优先级:具有高优先级的程序,优先运行
2.内存管理主要是管理内存,主存,磁盘,磁带等存储介质所形成的内存架构。为此目的,发明了虚拟内存的概念,将物理内存扩充到外部存储介质上,内存管理的另外一个目的是让许多程序共用同一个物理内存而不产生干扰,这就需要对物理内存进行分割和保护。
3.存储管理
文件系统的主要目的是将磁盘变成一个很容易使用的存储媒介提供给用户。
4.设备管理就是管理输入输出设备
设备管理的几个原则:
- 屏蔽不同设备的差异性,用户可以用同样的方式访问不同的设备
- 提供并发访问,将那些看上去不可共享的设备(例如打印机),变的可以共享
5.操作系统简单来说就是实现抽象:进程抽象,文件抽象,虚拟内存抽象。
6.中断是操作系统获得计算机控制权的根本保证
7.内核态可以访问计算机的所有资源,用户态访问权限有部分限制。凡是牵涉到计算机本体根本运行的事情都应在内核态实现。
8.计算机如何识别内核态还是用户态程序?
做出判断需要一种标志,这个标志就是处理器的一个状态位。所谓的用户态,内核态实际上是处理器的一种状态,而不是程序的状态。通过这个状态字,我们可以将cpu设置为内核态,用户态,或者其他子态。一个程序运行时,cpu是什么态,这个程序就运行在上面态
9.内核态与用户态的实现
如何对用户态进行限制呢?显然,要对程序的每一条指令进行检查,这种检查就是地址翻译。内核态直接绕过地址翻译的过程。
10.随着技术的发展,操作系统慢慢有结构了,开始是单一的操作系统结构,但是这样的结构有许多缺点,比如功能块之间循环调用造成死锁。于是,人们设计了操作系统层次结构,下层对上层功能提供服务。
随着操作系统越来越大,如何提高执行效率和保障安全性成了关键问题,于是提出了微内核结构,将一些非核心的功能放到用户态。
11.操作系统对进程的管理通过进程表实现,进程表里存放了关于进程的所有信息,
12.操作系统如何为应用程序提供服务?
系统调用API
13.shell(壳)与系统调用
使用API需要编程,如何方便不编程的用户使用呢?许多操作系统提供了shell(壳,分为文本和图形界面),在shell上,用户输入代码,间接调用API。
14.进程空间也叫地址空间,地址空间就是进程要用到的所有资源。所有资源构成了状态的划分。地址空间的特点就是"被动",它自己不能做什么,需要线程来让这些资源发生作用。
进程的缺陷:进程如果在执行过程中发生阻塞,例如等待输入,整个进程就将挂起,而无法继续执行,这样,即使进程里面有部分工作不依赖于输入数据,也无法推进。因此发明了线程。
15. 既然线程是进程的分身,那么谁来管理呢? 有2种选择,进程管理自己的线程,或者让操作系统管理线程
内核态线程的优点: 编程简单
缺点: 效率低
用户态线程的优点: 编程复杂
缺点: 效率高,灵活方便
16.当一个进程中的线程阻塞时,整个进程都阻塞了,此时怎么办?如果直接切换进程,那么造成很大的浪费,因为这个进程中可能还有其他的线程需要执行。因此,当线程阻塞时,操作系统会给予"第二机会",询问进程是否还有其他需要执行的线程。但是这种方式也有问题,违反了操作系统设计原则中上层调用下层服务的原则。
内核态和用户态线程都有严重的缺陷,因此现代操作系统的线程模型将2者结合了起来,
17.推出线程模型的目的就是实现进程级的并发,因为在一个进程中经常出现多个线程,
线程共享地址空间也会出现问题,这些矛盾归结为以下2个方面
- 线程之间如何通信?
- 线程之间如何同步?
18.线程是软件层不确定性的根源,指令多级流水线是硬件层不确定性的根源
19.线程通信借助于管道,管道是一个线性字节数组,linux系统下载shell中,| 符号创建管道,例如:
$ sort < file | grep zou
将sort的结果作为grep的输入
如果要在不同进程之间的线程之间通信,要使用记名管道,一般只有linux操作系统支持
20.线程通信还可以使用socket,socket功能强大,可以支持不同层面,不同应用,跨网络的通信
21. 线程通信中的套接字和管道需要双方主动建立连接,现在需要一种机制处理如下的通信需求。
- 想迫使一方对我们的通信立即做出回应
- 我们不愿事先建立任何连接,而是临时决定要与某个进程通信
- 传输的信息量很小,使用管道和socket太耗资源
应对以上需求,我们使用的是信号
22.计算机中,信号就是一个内核对象,或者说是一个内核数据结构,发送方将该数据结构填好,并指明该信号的目标进程后,发出特定的软件中断。操作系统于是到内核对象中找信号接收方,并进行通知。
信号量的发明源于铁路的运行,任何时刻只有一列列车运行在轨道上,而管理这条铁路的系统就是信号量。
23.线程,socket,信号还是不能满足一种通信需求:大量数据需要共享
这时,通过共享内存的方式进行通信。使用方法是一个进程首先创建一片内存空间专门通信用,而其他进程将该片空间映射到自己的(虚拟)地址空间,这样,读写自己地址中的共享内存区域时,就是在通信。
24.多线程的执行结果是不确定的,如何解决这个问题?
线程的同步,同步就是让线程按照一定的规则执行,共同资源有锁,一段程序代码要么一次性执行完,要么不执行,不会出现执行到一半的时候,别的线程抢占了cpu。
25.线程同步中,没有锁的线程要一直等待,等待的过程消耗资源,怎么解决这个问题?
线程休眠,等到别的线程使用完了资源后,释放锁的时候唤醒线程。
26.管程
信号量存在程序编写困难和效率低下的问题,因此发明了管程,管程
相关推荐
计算机的心智操作之哲学原理
本书《计算机程序的构造和解释》第二版旨在深入探讨计算机程序的设计原理及其背后的逻辑思考方式。第一章作为开篇,介绍了Scheme语言的基础语法,并通过简单的语法实践解决较为复杂的数学问题。该章节的核心思想在于...
心智计算是指通过计算机模拟人类大脑的认知过程,以实现人工智能系统的智能化。心智计算的研究主要集中在人类大脑的认知机理、计算模型、算法和应用等方面。 本白皮书的主要内容包括心智计算的发展历程、科学问题、...
七维大脑原理:探索人类心智的多元维度七维大脑原理:探索人类心智的多元维度七维大脑原理:探索人类心智的多元维度七维大脑原理:探索人类心智的多元维度七维大脑原理:探索人类心智的多元维度七维大脑原理:探索...
- **《计算机的心智:操作系统之哲学原理》**:Jorge E. Lopez, Mark G. Sinder著,介绍操作系统的哲学和原理。 - **《现代操作系统(第 2 版)》**:Andrew S. Tanenbaum著,全面阐述现代操作系统的各个方面。 - ...
心智哲学认为,心灵是程序,大脑是计算机系统的硬件。这意味着,我们可以通过计算机来模拟人类的智能活动。然而,这也引发了一个核心的问题:心灵和我们的身体关系到底是怎样的?心灵哲学问题认为,心灵和机器是否有...
本书从历史和跨学科两个视角,对认知科学基础问题进行了导论性质的...它描绘了从19世纪到当代认知科学领域某些核心概念的发展轨迹,考察了哲学、心理学、神经科学和计算机科学等学科对认知科学发展的重要贡献和影响。
"基于MEC理论与心智模型的高铁出行APP设计研究" 本文探讨了基于MEC理论与心智模型的高铁出行APP设计策略。随着生活水平的提高,高铁用户需求逐渐呈现多元化趋势。不同类型的用户在使用高铁出行APP的过程中,需求和...
本文从数据、过程、内容和方法三个方面阐述心智模型(Mental model)的复杂特性,并通过链接表分解心智模型节点,结合不同节点的链接关系,通过EC算法、PR算法分析识别心智模型网络关键节点,从口语数据分解、节点...
1. 心智模型的定义和重要性: 心智模型是一种认知结构,它反映了个体对某个特定领域或主题的理解和内在表征。在教学过程中,教师可以通过学生的心智模型来把握学生认知结构的发展情况,进而为教学活动提供反馈和指导...
### 通用人工智能与人类心智模型 #### 摘要与背景 本文《通用人工智能与人类心智模型》由Roman V. Yampolskiy(路易斯维尔...此外,跨学科的合作也将是解决这些问题的关键,涉及哲学、伦理学、计算机科学等多个领域。
品牌定位是商业策略的核心部分,它涉及到如何在消费者心智中占据独特且有价值的位置。这篇关于“品牌定位的关键:研究心智”的文章强调了心智在品牌传播中的重要作用。文章指出,人的大脑只能处理有限的信息,因此...
这份报告旨在全面解码美妆消费者的心智,并开辟美妆行业中针对心智人群的赛道。 首先,该报告基于阿里妈妈的营销研究中心、市场公关部和营销创意中心的专业经验,利用阿里巴巴生态内的大数据进行深入分析,为品牌...
心智模型是人类对信息、任务或系统的一种心理表征,它反映了用户对于系统操作的认知习惯和期望。在电子商务平台中,有效的目录导航设计是至关重要的,因为这直接影响到用户查找商品的效率和满意度。 文章首先指出了...
1. **心智活动**:文章开篇便指出,软件开发本质上是一种基于人类心智活动的过程。这一观点强调了软件开发不仅仅是技术层面的问题,更是心理学、认知科学等领域交叉的结果。 2. **人性的反映**:软件开发不仅反映了...
数学哲学问题是一个深邃的领域,它探讨了数学的基础、逻辑和无穷的性质,同时也触及了哲学的核心议题。从标题和描述中,我们可以看到数学哲学问题不仅涉及数学本身的发展,也涉及数学家如何通过数学来思考哲学问题。...
把时间当作朋友:运用心智获得解放。很好的书,每个人都应该读一下
"心智理论可能在大语言模型中自发出现" 心智理论(Theory of Mind,ToM)是指人类社会交往、交流、移情、自我意识和道德判断的核心能力,即将无法观察到的精神状态归咎于他人。这种能力对人类的成功至关重要,但是...
【心灵哲学与人工智能心智分类】 心灵哲学探讨的核心是人类及动物的心灵本质,以及与之相关的意识、思考、感知等问题。从笛卡尔的"我思故我在"开始,心灵哲学一直是一个重要的哲学分支,它与现代科技特别是人工智能...