一、操作系统的定义:
操作系统是计算机系统中的一个系统软件,是一些程序模块的集合-----
它们能以尽量有效、合理的方式组织和管理计算机的软硬件资源
合理的组织计算机的工作流程,控制程序的执行并向用户提供各种服务功能
使得用户能够灵活、方便的使用计算机,使整个计算机系统高效的运行
二、关键字:
有效:系统效率,资源利用率(CPU 内存 磁盘 设备的管理)
CPU利用率是否充足,I/O设备是否忙碌?
合理:各种软硬件资源的管理是否公平合理
如果不公平、不合理、则可能会产生问题?
方便使用:两种角度:用户界面 与 编程接口
三、操作系统的三个作用:
1、硬件资源:CPU 设备(I/O设备、磁盘、时钟、网卡)
软件资源:磁盘上的文件、各类管理信息等
1.1 如何管理资源(使用数据结构)
使用数据结构分配(如,哪些资源空闲,分配给谁使用,允许使用多长时间等)
1.2 确定资源分配策略--算法
静态分配策略;一个程序在执行之前把需要的资源保留出来,占据着
动态分配策略:程序什么时候需要资源,就分配给它
1.3 实施资源的分配和回收
如果是分配一页内存呢,就是数据结构是1,被回收了就成了0了
1.4 从资源管理的角度-五大基本功能
●进程/线程管理(CPU管理)
进程线程状态,控制、同步互斥、通信、调度
●存储管理
分配/回收、地址转换、存储保护、内存扩充
●文件管理
文件目录、文件操作、磁盘空间、文件存取控制
●设备管理
设备驱动、分配回收、缓冲技术
●用户接口
系统命令、编程接口
2、OS是各种系统服务的提供者
2.1 在操作系统之上,从用户角度来看
操作系统为用户提供一组功能强大、方便易用的命令或系统调用;
2.2 典型的服务
进程的创建、执行;文件和目录的操作I/O设备的使用,各类统计信息
3、OS对硬件机器的扩展
3.1 OS是硬件之上的第一层软件,作用是将硬件屏蔽
3.2 为什么要将硬件屏蔽呢?
因为与硬件相关的工作复杂、繁琐
请问:下列哪一个操作更简单、方便?
“从某个文件读一个数据块”与“移动磁头、等待放下”
如果程序员编写程序读一个数据,需要执行“移动磁头、等待放下”等程序的话,
就会特别繁琐复杂,有了操作系统的话就会省去那些步骤
3.3 操作系统在应用程序与硬件之间建立了一个等价的扩展机器(虚拟机器)
对硬件抽象,提高可移植性;比底层硬件更容易编程
比如:买了一所没有装修的房子,毛坯房,那样的话;还得装修才能入住,我们就请了一家装修队,系统就像装修队,省去了我们入住的不便。