美文网首页
1. 操作系统概述

1. 操作系统概述

作者: Zhehao | 来源:发表于2018-03-27 08:53 被阅读0次

1 操作系统做了什么

关于操作系统在程序执行中的作用,我们以一个小例子作为引入。下面的代码是用C语言编写的Hello World程序:

#include <stdio.h>   
int main(int argc, char *argv[]) {
  puts("hello world"); 
  return 0;
}

这个程序执行的时候,操作系统做了哪些工作呢?

  • 用户告知操作系统执行程序
  • OS: 找到helloworld程序的相关信息,检查其是否为可执行文件。通过程序的首部信息,确定代码和数据在程序中的位置并且计算出对应的磁盘地址
  • OS: 创建新的进程,将helloworld可执行文件映射到进程结构
  • OS: 如果调度程序选中helloworld程序,则为程序设置CPU上下文环境,跳转到程序的开始处
  • CPU执行helloworld第一条指令,发生缺页异常
  • OS: 分配一页物理内存,将代码由磁盘读入内存,继续执行helloworld程序
  • helloworld程序执行put函数, 在显示器上面显示字符串
  • OS: 操作系统将字符串送给控制显示设备的进程,控制设备的进程告诉设备的窗口系统要显示字符串,窗口系统确定这个操作合法,将字符串转换为像素,将像素写入设备的存储映像区
  • 显示器显示“hello world”

2 操作系统的定义以及作用

操作系统是计算机系统的一个系统软件,是一些程序模块的集合。这些程序模块能够以尽量有效,合理的方式组织和管理计算机的软硬件资源,合理的组织计算机的工作流程,控制程序的执行并向用户提供各种服务。使得用户能够灵活,方便的使用计算机。使整个计算机系统高效率运行。

3 操作系统的三个作用

(1) OS是资源的管理者

资源包括硬件资源,软件资源。硬件资源包括:CPU,内存,设备(I/O设备,磁盘,时钟,网卡)。软件资源包括:磁盘上的文件,各类管理信息。

操作系统如何管理资源?

  • 跟踪记录资源的使用状况
  • 确定资源分配策略——算法
  • 实施资源的分配和回收
  • 提高资源利用率
  • 保护资源的使用
  • 协调多个进程对资源请求的冲突

总结下来,操作系统的5大基本功能:

  • 进程/线程管理(CPU管理): 进程线程状态、控制、同步互斥、通信、调度、......
  • 存储管理: 分配/回收、地址转换、存储保护、内存扩充、......
  • 文件管理: 文件目录、文件操作、磁盘空间、文件存取控制、......
  • 设备管理: 设备驱动、分配回收、缓冲技术、......
  • 用户接口: 系统命令,编程接口

(2) OS为用户提供各种服务

典型服务:进程的创建和执行,文件和目录的操作,I/O设备的使用......

(3) OS对硬件机器进行拓展

操作系统在应用程序与硬件之间建立了一个等价的扩展机器(虚拟机)。对硬件抽象,提高可移植性;比底层硬件更容易编程, 用户不用接触繁琐复杂的硬件相关工作。

4 操作系统特征

操作系统有四个特征:

  • 并发
    OS可以处理多个同时性工作。并发会产生很多的问题:活动切换、保护、相互依赖的活动的同步。
    对于一个CPU,在任何时刻,CPU上只有一个程序在真正执行。
  • 共享
    操作系统与多个用户的程序共同使用计算机系统中的资源(共享有限的系统资源)。操作系统要对系统资源进行合理分配和使用,资源在一个时间段内交替被多个进程所用
  • 虚拟
    一个物理实体可以映射为若干个对应的逻辑实体--分时或分空间。
  • 随机
    操作系统必须随时对以不可预测的次序发生的事件进行响应并处理。

5 典型操作系统架构

Windows

windows架构

Unix

Unix 架构

Linux

Linux架构

相关文章

  • 1. 操作系统概述

    1 操作系统做了什么 关于操作系统在程序执行中的作用,我们以一个小例子作为引入。下面的代码是用C语言编写的Hell...

  • 1.操作系统的概述

    主要是想记录一些操作系统的关键内容,希望能让非CS的自己及大家对操作系统先有个大体的理解,非重要的内容会省略,有兴...

  • Linux简单命令

    linux 操作系统 一.linux 操作系统概述 1.常见操作系统- 服务端操作系统 : linux、unix、...

  • Linux/Unix操作系统

    1.操作系统概述 操作系统:Oprating System,简称OS 概述:控制计算机硬件和软件的计算器程序,最基...

  • 第一章 实时操作系统基础

    1.1 操作系统概述 1. 1.1 什么是操作系统 操作系统OS(Operating System)是裸机上的第一...

  • 操作系统知识点整理

    操作系统 操作系统知识模块主要分为:操作系统概述、进程管理、内存管理、文件管理、输入/输出(I/O)管理。 1.操...

  • java面试题

    1.概述Linux Linux是主流的服务器操作系统,和Windows操作系统不同的是Linux操作系统最顶层只有...

  • Linux基础入门

    1.概述 有人说,这个世界上只有两种操作系统: UNIX 和类 UNIX 操作系统; 其它操作系统; Linu...

  • shell场景脚本实战二(系统信息监控脚本)

    一、操作系统信息获取 1.概述 脚本system_monitor.sh 功能1:提取操作系统信息(内核、系统版本、...

  • 操作系统笔记

    操作系统原理——华中科技大学苏曙光已完结 1.操作系统概述2.操作系统逻辑结构3.操作系统的用户界面(1)操作系统...

网友评论

      本文标题:1. 操作系统概述

      本文链接:https://www.haomeiwen.com/subject/cvhjcftx.html