计算机操作系统基本概述

计算机操作系统

任何计算机系统都包含一个基本的程序集合,称为操作系统(OS)
操作系统包括:
1、内核(进程管理、内存管理、文件管理、驱动管理)
2、其他程序(例如函数库、shell程序等)
只有启动的操作系统,才有意义;当操作系统没有被启动的时候在外设中,启动时,软件数据与代码被加载到内存中

操作系统是什么?
操作系统是一款软件,专门针对软硬件资源进行管理工作的软件

为什么要有操作系统?
对下:管理好软硬件资源(方式)
对上:给用户提供稳定的、高效的、安全的运行环境(目的)

操作系统怎么实现的?
操作系统核心理念:管理——决策与执行,管理者和被管理者
决策——可以理解为学校里面的校长(管理者)
执行——可以理解为辅导员(执行者)
学生——被管理者

  1. 管理者与被管理者不直接打交道
  2. 如何管理我们学生?对我们做出各种决策,决策是有依据的(我们的属性数据)
  3. 管理者和被管理者不直接打交道,那我们的数据属性是怎么被校长知道的?——辅导员

图解:
在这里插入图片描述
站在校长的角度:
1、如何聚合一个学生的数据?

 struct Student
{
	char name;
	int sex;
	int score[];
	...
}

2、如何将多个学生的聚合数据之间产生关联?
比如:用双链表/树/哈希表的形式组织起来
这样子,对学生的管理工作,就变成了对数据结构的增删查改
先描述——被管理对象
在组织——将被管理对象使用特性的数据结构组织起来
要管理——一定要有描述+组织->可以将对目标的管理转化为对数据的管理

3、如何管理进程?
先描述,在组织
因此一定要有一个描述进程的结构体——PCB(进程控制块)
为什么要有PCB——因为需要先描述

在这里插入图片描述

操作系统如何给程序员提供功能:
OS不信任任何用户,那么操作系统如何给用户提供功能的?——系统调用接口,就可以完成某些功能——系统调用接口就好比银行的柜台窗口
系统调用接口:是操作系统提供的接口,这个接口就是一个函数(C函数),可以理解为操作系统提供的各种c语言接口。

系统调用接口与C语言库函数的关系
系统调用接口比较复杂,然后一些厉害的人就将系统调用接口进行了软件封装,以第三方的库呈现,也可能是以语言的方式来进行呈现,有了这样子的呈现,我们在实际编程的时候,就不实际使用系统调用接口,而是使用库函数(printf)来使用。也就是说我们学的各种语言的库函数个系统调用接口实际上就是上下层的关系,上层(各种语言的库函数)下层(系统调用接口),但是也要注意,不是所有的C/C++接口都会使用系统接口。
总结:

  1. 在开发角度,操作系统对外会表现为一个整体,但是会暴露自己的部分接口,供上层开发使用,这部分由操作系统提供的接口叫做系统调用。
  2. 系统调用在使用上,功能比较基础,对用户的要求也比较高,所以,一些开发者会对部分系统调用进行适度的封装,从而形成了库,有了库,就很有利于更上层用户或者开发者进行二次开发。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值