玩命加载中 . . .

1-操作系统基础


操作系统基础

什么是操作系统

介于硬件资源和应用程序之间的一个系统软件

操作系统的功能

操作系统位于硬件资源之上,管理硬件资源;应用程序之下,为应用程序提供服务,同时管理应用程序

1、资源分配,资源回收

计算机重要的硬件资源无非就是CPU、内存、硬盘、I/O设备。
而这些资源总是有限的,因此需要有效管理,资源管理最终只有两个问题:资源分配、资源回收

  • 资源分配:体现在CPU上,比如进程调度,多个进程同时请求CPU下,应该给哪一个进程呢?再比如内存分配,内存不够了怎么办?A进程非法访问了B进程的内存地址怎么办?内存内、外碎片问题等。
  • 资源回收:考虑内存回收后的合并等等。

2、为应用程序提供服务

操作系统将硬件资源的操作封装起来,提供相对统一的接口(系统调用)供开发者调用。
如果没有操作系统,应用程序将直接面对硬件,给开发者带来编程的困难,直接访问硬件,也有可能损坏硬件资源

3、管理应用程序

即控制进程的生命周期:进程开始时的环境配置和资源分配、进程结束后的资源回收、进程调度等。

4、操作系统内核的功能

  1. 进程调度能力:管理进程、线程,决定哪个进程、线程使用CPU。
  2. 内存管理能力:决定内存的分配和回收。
  3. 硬件通信能力:管理硬件,为进程和硬件之间提供通信。
  4. 系统调用能力:应用程序进行更高限权运行的服务,需要系统调用,用户程序和操作系统之间的接口。

操作系统的角色

管理者与魔术师

1、管理者

主要分为:CPU管理、内存管理、外存管理、IO管理;以及自己的健壮性和安全性管理。

2、魔术师

比如操作系统会让每个进程都觉得自己独占CPU、独占整片物理内存,而实际上每个进程都只是在某一时间段内占用CPU,仅仅只是占用实际一点点物理内存。

用户程序与操作系统的关系

相互调用

1、操作系统的角度

计算机启动后启动的第一个软件就是操作系统,随后启动的所有进程都运行在操作系统之上,使用操作系统提供的服务,同时被操作系统监控,进程结束后也由操作系统回收。

2、进程角度

调用操作系统提供的服务,实现自己的功能。


文章作者: kunpeng
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 kunpeng !
  目录