计算机可以分为4个组成部分: 硬件,操作系统,应用程序,用户 从用户视角来看,为单个用户服务的个人电脑最重要的是易用性,性能其次,而不用关注资源使用率。 而多人接入的大型服务器则关注性能,并确保大家能平等的使用资源(cpu,内存)等。 从操作系统视角来看,可以看做是一个资源分配器,分配cpu,内存,网络等资源

1.2 Computer-System organization

计算机的各个组成部分,如cpu,内存控制器,usb控制器,图形适配器都通过总线相连。

存储有很多种类,速度,成本,大小不一。速度越快,成本也就越高。所以为了保证速度的同时降低成本,一般的计算机都采用层次的存储结构。

Operating System Concepts ——chapter 1—— introduction

IO结构

IO的代码占操作系统相当的一部分,一是IO对操作系统的稳定性和性能至关重要,二是IO设备种类的多样性。

每个设备都有一个控制器,控制器一般都有自己的本地的缓冲区和寄存器,这些控制器直接连接到总线上。操作系统会有一个驱动和控制器对应,这个驱动能够理解对应的控制器并代码操作系统与之交互。操作系统与设备交互数据的流程是这样的(如读取数据到内存):驱动向控制器发送命令,控制器解析命令,将数据读取到本地缓存,通过中断的方式通知驱动,驱动获得操作系统的控制权,将数据从控制器的缓存移动到内存之中。由于这种方式老是中断操作系统,效率不高,一种叫做DMA(direct memory access)的方式:驱动先设置好内存中的缓冲区及计数器,由控制器负责将数据直接移动到内存,移动完毕之后产生一次中断,操作系统进行处理。在控制器移动数据的过程中,cpu可以处理其他的事情。

1.3 Computer-System Architecture

计算机系统可以大致通过其采用的通用处理器的数量来进行分类

单处理器系统

绝大多数计算机都是单处理器,只有一个通用的处理器,可以执行通用指令集。可能还会有专用处理器,如控制磁盘的处理器。

多处理器系统

能够增加吞吐量,降低成本(共享外设),增加可靠性。又分为对称多处理和非对称多处理,一般都是对称多处理。

集群系统

多 CPU 系统的另一种类型是集群系统 (clustered system) 。与多处理器系统一样,集 群系统将多个 CPU 集中起来完成计算任务。然而,集群系统与多处理器系统不同,它是由 两个或多个独立的系统稠合起来的。

又分为对称集群和非对称集群。

1.4 operating-system structure

双运行模式和多运行模式
为了确保操作系统的正常运行,一定需要区分普通程序和内核程序。用来防止用户程序的错误导致整个操作系统的崩溃。大多数的计算机系统提供硬件支持来区分不同的模式:一个表示不同模式的标志位。最少需要两个模式:内核模式和用户模式。支持虚拟化的cpu还需要更多的标志位来表示 virtual machine manager (VMM)和 virtual machine manager software。

1.5 timer

为了保证操作系统对cpu的控制,就需要控制用户程序对cpu的时间,以防止用户程序出现死循环或者用户程序故意占用cpu不释放。实现的方式是在切换到用户程序之前,先设置一个定时器,时间到了之后,触发中断,操作系统重新获得控制。一般定时器是一个固定速率的时钟加计数器实现的。很显然,修改计数器的值是需要特权的。

1.6process management

一个程序只有当它的指令被cpu执行时才能发挥作用。一个正在被执行的程序,叫做进程,程序本身并不是进程。程序的运行可能需要各种资源,如cpu,内存,文件,操作系统需要为其分配这些资源,并在程序运行结束后回收这些资源。每个线程(进程的子概念)都有一个程序计数器,指定下一个应该执行的指令。
操作系统需要负责处理以下进程管理相关的事务:
创建和删除进程
挂起和恢复进程
调度进程
提供进程同步的机制
提供进程通信的机制

1.7 memory management

主存是现代操作系统的核心,是唯一cpu能够直接读取的大容量存储,所以不论是指令还是数据,都是先加载到主存,然后再被cpu读取的。操作需要管理以下内存相关的事务:
跟踪哪些空间被使用了,被谁使用
决定哪些进程被移入和移出主存
分配和释放空间

1.8 storage managment

文件系统管理
操作系统提供一个统一的,逻辑上的信息存储的视图,从各种物理存储设备(如磁盘,光盘,磁带)抽象出文件的概念。操作系统负责管理以下和存储相关的事物:
创建和删除文件
创建和删除目录
操作文件和目录的权限管理
将文件映射到二级存储
将文件回写到稳定存储介质

大容量存储管理
free space management
stroage allocation
disk sheduling

cache
缓存的工作原理是:信息一般保存在某个存储系统,当需要使用的时候,会被临时加载到缓存中,当需要某个信息的时候,会先去检查缓存。cpu的缓存完全是由硬件实现的,操作系统无法管理。因为缓存空间非常有限,所以管理缓存是一件非常重要的事。
在一个分层的存储结构中,同样的数据会出现在不同的地方,所以如何保持它们的同步复杂而重要。特别是考虑到多线程,多处理器,甚至是分布式操作系统时。

I/O
I/O子系统由以下元素组成:
memory management
general device-driver interface
drivers for specific hardware devices

1.9 protection and secirity

protction负责管理不同的用户的权限,确保各种资源不会被滥用。security保护电脑不受攻击来自外部或内部的攻击,如病毒,蠕虫,DOS攻击等等。
为了区分不同的用户,为每个用户设置用户ID。为了区分不同的用户群体,设置了用户组id的概念。

1.10 kernel data structure

关于操作系统的实现:数据以怎样的结构被存储?
lists, statcks, queues, tree, map, bitmap
太熟悉了,略

后面的内容全部略

practice exercise

答案地址:
http://116.77.75.202:83/2Q2W531FC497F8B04CE272DD3DBD89BA98FE626E8581_unknown_87676E626E2B97154B62EF13B5D3679D1E51B48F_10/codex.cs.yale.edu/avi/os-book/OS9/practice-exer-dir/

  1. three main purpose of operating system
    提供应用程序能够高效方便的基于硬件执行的环境
    高效并且公平的分配相互独立的资源

1.5 How does the distinction between kernel mode and user mode functionas a rudimentary form of protection (security) system?

The distinction between kernel mode and user mode provides a rudi-mentary form of protection in the following manner. Certain instructionscould be executed only when theCPUis in kernel mode. Similarly, hard-ware devices could be accessed only when the program is executing inkernel mode. Control over when interrupts could be enabled or disabledis also possible only when theCPUis in kernel mode. Consequently, theCPUhas very limited capability when executing in user mode, therebyenforcing protection of critical resources.

相关文章: