美文网首页我用 Linux程序员架构算法设计模式和编程理论
操作系统概述(一)操作系统的四大特征

操作系统概述(一)操作系统的四大特征

作者: 石头堆1566 | 来源:发表于2017-04-10 09:49 被阅读674次

首先我们需要解决的问题是操作系统是什么,其本质上就是一段计算机程序,用于管理计算机的硬件和软件资源,操作系统需要处理很多事务,如管理与配置内存、决定系统资源的优先次序、控制I/O设备等。一个计算机系统可以分成三层,如下图所示:

计算机系统的组织结构图

我们将计算机操作系统的特征分为四个方面,下面将通过几段程序,依次进行说明。

一、CPU的虚拟化

编写如下的c程序

程序运行指令 common.c common.h cpu.c

cpu.c的功能是打印你输入的字符串,然后在一个无限循环的函数里spin一秒钟,这里提一下在运行了上述的函数之后,需要使用指令

                                    killall cpu

来终止整个程序的运行,cpu是指生成的可执行文件的名字。我们观察结果会发现虽然我们同时运行了多个程序,但是所有程序都会输出结果,结果是cabcabcab....这样子的无限字符串序列。即使我们只有一个物理cpu,这种现象依然存在,即说明操作系统通过某种机制令每个应用程序都感觉自已拥有整个cpu,会直接执行。

二、内存的虚拟化

编写如下的程序,

mem.c

输出结果中的pid表示进程的id,在操作系统中每个进程都有系统分配的独一无二的id来做相互之间的区分,从上图的结果我们可以发现二者是并行实现的,而且二者被分配了同样的地址!是不是很神奇!这说明cpu通过某种机制让应用有完整的虚拟地址空间。

三、并发性

程序如下,

运行结果 threads.c

在threads.c中我们创造了两个子线程,每一个线程都对一个共享的全局变量做设定次数的 ++ 操作,但是我们发现这个结果是不确定的,这说明这两个线程的执行并不是严格并发的,操作系统需要去控制线程的并发。

四、持久性

程序如下:

执行操作 io.c

io.c创建了一个文本文档,并且在里面存储了字符串,无论我们用什么物理存储装置,我们都可以访问到这个路径以及里面的文件,这说明操作系统提供了文件系统来做一个持久性的存储。

相关文章

  • 计算机操作系统知识大纲

    第一章 操作系统概述 1 操作系统的基本概念操作系统的概念操作系统的特征操作系统的目标和功能 2 操作系统的发展与...

  • 操作系统概述(一)操作系统的四大特征

    首先我们需要解决的问题是操作系统是什么,其本质上就是一段计算机程序,用于管理计算机的硬件和软件资源,操作系统需要处...

  • Linux简单命令

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

  • 操作系统(1) -- 进程与线程

    内容大纲 1、操作系统概述1.1 OS定义及特征1.2 OS的发展 2、进程2.1 进程概念及特征2.2 进程的状...

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

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

  • 一、计算机、程序和Java概述(1.4)

    一、计算机、程序和Java概述(1.4) 1、什么是操作系统?列出一些流行的操作系统。 操作系统(Operatin...

  • 操作系统笔记

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

  • 一、操作系统概论

    第一节:操作系统的概念 带着以下问题阅读 1、操作系统的特征是什么?2、操作系统的功能?3、操作系统的体系结构?4...

  • 操作系统(一)——概述

    总体逻辑框架 操作系统是介于应用软件与硬件的系统软件。计算机在诞生之初并没有操作系统,运算功能依靠人工操作实现,为...

  • 操作系统的特征

    操作系统的特征 操作系统的四个特征:并发,共享,虚拟,异步(其中并发和共享是最基本的特征,两者互为存在条件) 并发...

网友评论

    本文标题:操作系统概述(一)操作系统的四大特征

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