操作系统的定义
指的是控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便的接口和环境,它是计算机系统中最基本的系统软件。
计算机系统的层级结构
1、用户 应用程序
2、操作系统
3、裸机
操作系统的功能和目标
作为系统资源的管理者
功能
1、处理机管理
2、存储器管理
3、文件管理
4、设备管理
目标: 安全 高效
作为用户和计算机硬件之间的接口
1、命令接口:允许用户直接使用
联机命令接口:交互式命令接口
脱机命令接口:批处理命令接口
2、程序接口:允许用户通过程序间接使用 系统调用
3、GUI:现代操作系统中最流行的图形用户接口
作为最接近硬件的层次
通常把覆盖了软件的机器称之为扩充机器,又称之为虚拟机。(封装思想)
程序当中很重要的就是封装思想,提供给用户使用
操作系统的特征
1、并发:指两个或多个事件在同一时间间隔内发生。(基础)
2、共享:资源共享,是指系统中的资源可供内存中各个并发执行的进程共同使用
互斥共享:系统中的某些资源,虽然可以提供给多个进程使用,但同一个时间段内只允许一个进程访问该资源
同时共享:系统中的某些资源,允许同一个时间段内由多个进程同时对它们进行访问。
3、虚拟:把一个物理上的实体变为若干个逻辑上的对应物。物理实体是实际存在的,而逻辑上对应物是用户感受的
我的电脑只有4GB,却可以同时运行多个大于4GB的程序 空分复用技术 空间划分
单核计算机打开多个程序。 时分复用 时间划分
4、异步:在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底的,而是走走停停,以不同预知的速度向前推进,这就是进程的异步性。(与同步相对应)
这不是一篇教你如何创建一个操作系统的文章,相反,这是一篇指导性文章,教你从几个方面来理解操作系统。
咱们应该如何学习计算机基础知识总结与操作系统呢?
这小编推荐给读者几本PDF
第一本是程序员必知的硬核基础知识,这是一本非常入门的经典 PDF,看完能让你对计算机有一个基础的了解和入门,是培养你 内核的基础,我们看下目录大纲
基本上涵盖了计算机所有基础知识,从 CPU 到内存、讲解什么是二进制、磁盘、压缩算法、操作系统、汇编等知识。
我们来看下内容是怎样的
这个图画的很漂亮啊,看起来就是作者在用心画的,而且排版非常精美。
看起来一点不枯燥
第二本是程序员必知的操作系统,可以看一下目录。
内容涉及
- 认识操作系统
- 进程和线程
- 内存管理
- 文件管理
- I/O
- 死锁
- 操作系统面试题
- 操作系统核心概念
字是一个一个敲的,图是一笔一笔画的。
可以看到图非常清晰,而且排版样式非常好
还为你汇总了操作系统面试题
还有所有操作系统名词汇总
这本 PDF一共是306页,17w 字,我想这应该是全网第一份操作系统 PDF 了吧,希望大家能够珍藏。