操作系统概述(一)操作系统的四大特征
首先我们需要解决的问题是操作系统是什么,其本质上就是一段计算机程序,用于管理计算机的硬件和软件资源,操作系统需要处理很多事务,如管理与配置内存、决定系统资源的优先次序、控制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创建了一个文本文档,并且在里面存储了字符串,无论我们用什么物理存储装置,我们都可以访问到这个路径以及里面的文件,这说明操作系统提供了文件系统来做一个持久性的存储。
推荐阅读
- 美帝十年签证新政|美帝十年签证新政|还能否愉快地来一场说走就走的旅行()
- ORM增删改查并发性能测试2
- 大年初一
- C|C 语言 struct 第一个成员变量的妙用
- 中国高考报考第一人薛立新教授(对于跨专业考研的深度理解)
- 四季该很好
- 重生-在戒烟的那一刻
- 参与一个生命的成长
- 那些让我们清凉一夏的小清新英文电影
- ssm|基于ssm的美妆购物平台管理系统(idea+spring+springmvc+mybatis+jsp)