操作系统(operating system)是管理计算机硬件的程序。为应用程序提供基础,并且充当计算机用户和计算机硬件的中介。
1.1操作系统的功能
硬件hardware:中央处理单元Central Processing Unit CPU、内存memory、输入/输出设备Input/Output device, I/O device;
应用程序application program;
计算机系统:硬件、软件、数据。操作系统提供正确手段以便使用这些资源。
1.1.1用户视角
操作系统设计的主要目的:用户使用方便,性能次要,资源利用不在乎。
1.1.2系统视角
操作系统--->资源分配器resource allocator;分配CPU时间、内存空间、文件存储空间、I/O设备等;
控制程序:管理用户程序的执行,以防止计算机资源的错误或者不当使用。特别注重I/O设备的运行和控制。
1.1.3操作系统的定义
操作系统:一直运行在计算机上的程序(通常称为内核kernel);除了内核,还有:系统程序(与系统运行有关但不是内核的一部分)和应用程序(与系统无关的所有其他程序)。
1.3计算机系统的体系结构
1.3.1单处理器系统
单处理器系统:系统只有一个CPU;
1.3.2多处理器系统
多处理系统(Multiprocessing system)也称为并行系统parallel system 或多核系统multicore system:有两个或者多个紧密通信的CPU,它们共享计算机总线,有时还共享时钟、内存和外设等。
三个优点:
1.增加吞吐量(采用N个处理器加速比小于N)、
2.规模经济(价格低于多个单处理器系统,原因:共享外设、大容量存储和电源供给)、
3.增加可靠性(单个处理器失灵不会使整个系统停止工作,只会使他变慢)
适度退化graceful degradation:根据剩余有效硬件的级别按比例继续提供服务的能力;
容错fault tolerant:容忍单个部件错误,并且仍然继续运行。需要一定的机制来对故障进行检测、诊断和纠错(如果可能)。
非对称处理器asymmetric multiprocessing:有一个主处理器(boss processor)控制系统调度从处理器,并安排工作。主从关系。
对称处理器symmetric multiprocessing,SMP:每个处理器都有自己的寄存器集,也有私有或本地缓存,所有处理器都共享物理内存。
多处理可以使系统从均匀内存访问改成非均匀内存访问。
多核(multicore):集成多个计算核(computing core)。多核比多个单核更高效(因为单片通信比多个芯片通信更快,多核芯片比单核芯片耗电低)
1.3.3集群系统
多核系统和集群系统都属于多处理器系统。
集群系统clustered system:将多个CPU组合在一起的系统;
松耦合的loosely coupled;
集群计算机共享存储,并且采用LAN(local area network区域网)连接或更快的内部连接。
高可用性:通过在系统中增加一定冗余,可获取高可用性;
非对称集群asymmetric clustering:
一台机器处于热备份模式(host-standby mode)负责监视活动服务器,如果活动服务器失效,热备份主机变成活动服务器。
对称集群symmetric clustering:
两个或多个主机运行应用程序,相互监视。充分使用现有硬件,多个应用程序可执行时更为高效;
高性能计算:并行计算。
分布锁管理器:跟踪共享磁盘的访问,针对文件访问加一控制和加锁,以确保无冲突。
存储域网(Storage-Area Network,SAN):
1.4操作系统的结构