1 . 什么是操作系统
操作系统概述
在日常生活中我们基本都是使用有操作系统的计算机来完成我们的需求的,比如在计算机上玩游戏、写文档等等,这些工作都是在有操作系统的计算机上完成的,没有操作系统,我们就没能在计算机上完成我们想做的事情。常见的操作系统有Windows、Linux、Unix。
操作系统的功能:
1)提供用户接口,方便用户控制计算机。我们可以通过操作系统的图形界面来进行操作计算机,如双击启动某个程序。
2)负责为应用程序分配和调度软硬件资源。应用程序的运行是需要软硬件资源的,操作系统可以自动为我们所要运行的应用程序分配软硬件资源,如分配内存、IO操作等。
3)控制程序并发运行。使程序并发运行,在程序A执行IO操作时,CPU处于空闲,这时CPU可以调用程序B执行,提高CPU利用率,
4)帮用户存取和保护信息。
操作系统所处层次
2 . 操作系统功能
首先,我们来看如下Hello.c源程序。
代码语言:javascript复制
Hello.c
#include<stdio.h>
int main()
{
while(1)
{
printf("Hello World!");
}
return 0;
}
该程序经过编译、链接后,形成Hello.exe的二进制文件。
1)Hello.exe以文件的方式存在硬盘上。(文件管理、设备管理)
2)双击Hello.exe运行,操作系统把该文件二进制码装载到内存中运行。(内存管理)
3)给Hello.exe分配内存。(内存管理)
4)printf()函数让用户操控显卡输出Hello World串到屏幕。(设备管理)
5)while(1)死循环不会一直占用CPU。(CPU管理)
因此操作系统有以下功能,各功能的具体内容后续推文会陆续讲解。
1)进程管理(CPU管理)
-进程控制
-进程调度
-进程通信
2)内存管理
-内存分配
-内存共享
-内存保护
-虚拟内存
3)设备管理
-设备的分配和调度
-设备无关性
-设备传输控制
·-设备驱动
4)文件管理
-存储空间管理
-文件操作
-目录操作
-文件和目录的存取权限管理
一个操作系统最不可缺的就是进程管理和内存管理,因此有这样一种说法:
进程管理 内存管理=操作系统