趁暑假重新学习一下操作系统,为了督促自己并方便日后查询资料,打算在博客里记录学习笔记。
学习的课程为mooc的操作系统原理。
目录
1.2 操作系统的功能和定义
1.操作系统的功能
- 进程管理
- 进程控制:创建,暂停,唤醒,撤销
- 进程调度:调度策略,优先级
- 进程通信
- 内存管理
-
内存分配
-
内存共享
-
内存保护
-
虚拟内存
3. 设备管理 - 设备的分配与调度 - 设备无关性 - 设备传输控制 - 设备驱动 4. 文件管理 - 存储空间管理 - 文件的操作 - 目录的操作 - 文件和目录的存取权限管理
-
2.操作系统的定义
是一个大型程序
-
提供用户接口,方便用户控制计算机;
-
负责为应用程序分配和调度软硬件资源,并控制与协调应用程序并发活动,帮助用户存取和保护信息。
课后问题:现代操作系统会不会因为内存太小,而让应用程序无法启动运行或让系统崩溃?
先要说说何为程序运行,程序运行就是操作系统给应用程序分配一定的资源,包括CPU、内存、等资源,当应用程序加载进内存,并得到CPU执行指令的机会是也是一条指令一条指令执行,这样的话,无论一个程序需要多大内存,理论上,都可以执行,只是执行时候,程序无法执行的很流畅而已。程序无法启动应该是程序包有问题,校验不通过,而系统崩溃应该是内存分配过多或者对某些关键位置进行了读写操作导致的。
1.3 操作系统发展历史
- 多道批处理
- 宏观:并行
- 微观:串行
在多道批处理中尝试不断增加程序的数量,系统的效率会不会持续增加?结果会如何?
答:不会持续增加,因为微观上程序还是在串行运行。可能一开始能提高一些效率,但是程序过多的时候,反而所有的程序都要花费较长的时间才能运行完成,并且效率也不会提高
1.4 分时技术与分时操作
-
中断技术
CPU收到外部信号(中断信号)后,停止当前工作,转去处理该外部事件,处理完毕后回到原来工作的中断处(断点)继续原来的工作。
-
通道技术
专门处理外设与内存之间的数据传输的处理机
-
分时操作系统的背景
事务性任务的涌现:交互性高,响应快速
要求支持多任务/多用户
多终端计算机
分时技术
概念
- 主机以很短的“时间片”为单位,把CPU轮流分配给每个终端使用,直到全部作业被运行完
- 由于时间片很短,在终端数量不多的情况下,每个终端都能很快重新获得CPU,使得每个终端都能得到及时响应。
■等待周期=时间片X终端数量
特点
- 多路调制行 公用
- 独占性 感觉独占
- 交互性 及时响应
1.5 典型操作系统的类型
1.操作系统的进一步发展(分时系统的衍化)
-
微机操作系统
(PC机) BIOS把操作系统和硬件分隔
-
多处理机操作系统
-
网络操作系统
普通操作系统+网络通信+网络服务
-
实时操作系统
军事,工业控制
强调作业完成的时限
-
嵌入式操作系统
软硬件可裁剪,一体化
小结
第一章实质性内容不多,主要了解了操作系统的一些概念性知识和发展历程。操作系统主要是为了方便控制计算机,分配软硬件资源而产生的,学习操作系统的关键也在于学习操作系统控制计算机资源的技术方法。
关键技术:
-
分时技术
-
中断技术
-
通道技术
PS:感觉markdown导入的格式有点问题