强调内容系统做了什么?
以 HelloWorld为例,操作系统编译翻译之后,运行时会不断的在应用进程和系统进程之间切换。也就是说系统运行的程序又不断陷入操作系统之中,去请求系统权限,最终打印helloworld。这个角度来看:操作系统要为各种程序协调分配硬件资源,操作系统是计算机系统中的一个系统软件,是一些程序模块的集合。
注意:这篇博客不好,我自己都忘了,没有什么实际作用,大体如此而已
操作系统如何管理资源:
1.跟踪记录资源使用状况
如:那些资源空闲,分配给谁使用,允许使用多长时间。
2.确定资源分配的策略--算法
静态分配策略——导致资源浪费
动态分配资源——资源利用卢得到提高。
3.实施资源的分配的回收
如:页式存储
4.提高资源利用率
5.保护资源的使用
6.协调多个进程资源请求的冲突
从资源管理的角度:五个基本功能
1.进程/线程的管理(CPU的管理):进程线程状态、控制、通信、调度
2.存储管理:分配/回收、地址转换、存储转换、内存扩充
3.文件管理:文件目录、文件操作、磁盘空间、文件存储控制
4.设备管理:设备驱动、
5.用户接口
操作系统的主要特征
**1.并发**:处理多个同时性活动的能力
并发带来的问题:活动之间的切换、保护、相互依赖的活动间的同步计算机系统中同时存在多个程序运行,单cpu上:
宏观上:这些程序同时在执行
微观上:任何时刻只有一个程序真正在执行,即这些程序是在cpu上是轮流执行的。
(并行:与并发相似,单多指不同程序同时在多个硬件不见上执行。并发相当于马拉松是一个跑道,并行相当于100赛跑,多个跑道)
**2.共享**:操作系统与多个用户的程序共同您使用计算机系统中的资源(共享有限的系统资源)
互斥共享(打印机)同时共享(磁盘文件)
带来的问题是(资源的分配)
**3.虚拟**:一个物理实体映射为若干个对应的逻辑实体——分时或者分空间
虚拟是操作系统管理系统的重要手段,
**4.随机**:操作系统必须随时对以不可测的次序发生的时间进行响应并处理
(进程的运行速度不可预测、难以重现系统某个时刻的状态包括运行时的错误)
典型的操作系统架构**
1.windows 2.linux 3.unix 4.安卓 5.ios
spooling **(目前用于打印技术)
SPOOLing技术实际上是一种外围设备同时联机操作技术,又称为排队转储技术。它在输入和输出之间增加了”输入井”和”输出井”的排队转储环节,以消除用户的”联机”等待时间。在系统输入模块收到作业输入请求信号后,输入管理模块中的读过程负责将信息从输入装置中读入输入井缓冲区。当缓冲区满时,由写过程将信息从缓冲区写到外存的输入井中,读过程和写过程反复循环,直到一个作业输入完毕
Spooling 技术的组成:
(1)输入井和输出井。这是在磁盘上开辟的两个大存储空间。输入井是模拟脱机输入时的磁盘设备,用于暂存I/Q设备输入的数据; 输出井是模拟脱机输出时的磁盘, 用于暂存用户程序的输出数据。
(2)输入缓冲区和输出缓冲区。为了缓和和CPU和磁盘之间速度不匹配的矛盾,在内存中要开辟两个缓冲区;输入缓冲区和输出缓冲区。 输入缓冲区用于暂存由输入设备送来的数据,以后再传送到输入井。输出缓冲区用与暂存从输出井送来的数据,以后在传送给输出设备。
(3)输入进程SPi 和输入进程SP0。这里利用两个进程来模拟脱机I/O时的外围控制机。其中,进程SPi模拟脱机输入时的外围控制机, 将用户要求的数据从输入机通过输入缓冲区再送到输入井,当CPU需要输入数据时,直接从输入井读入内存;进程SP0模拟脱机输出时的外围控制机, \把用户要求输出的数据从先内存送到输出井,待输出设备空闲时,在将输出井中的数据经过输出缓冲区送到输出设备上。
系统的分类:
1.批处理操作系统(不能干涉;一个作业一台机器执行)
2.分时操作系统(第一个交互式的系统)
3.通用操作系统(分时优先,批处理在后)
4.实时操作系统(实时的过程如:工业控制;实时通信:电话;在严格时间内完成)
5.个人操作系统(界面)
6.网络操作系统(网络出现后加上的)
7.分布式操作系统(以网络为基础,或者以多处理器为基础,特征是将任务分布在不同计算加上)
8.嵌入式操作系统(在各种设备中,完成特定的功能,如电视、汽车、MP3。他们是一个设备,而不是电脑)
9.智能卡操作系统(一种包含CPU芯片的卡片 如:电子支付卡)
(笔记来源于北京大学计算机系教学视频) (几个月后回来再看这东西,想了一下,觉得没有什么用,但是不知道吧,好像又不好)
转载请注明原文地址: https://ju.6miu.com/read-660280.html