博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Operating Systems-tep Chapter2 读书笔记
阅读量:3905 次
发布时间:2019-05-23

本文共 654 字,大约阅读时间需要 2 分钟。

操作系统介绍

2.1 虚拟化CPU

将一个(或少量)CPU转化成看似有无数个CPU,从而使许多程序看似能够一同运行的技术,我们将其称为虚拟化CPU。

2.2 虚拟化内存

内存只是一组bytes:要读取内存,必须指定一个地址才能访问储存在那里的数据。要写入(或更新)内存,还必须要写入给定地址的数据。

内存在程序运行的时候一直被访问。一个程序将其所有的数据结构保存在内存中,然后通过各种指令来访问。程序的每个指令也在内存中:因此每次取指令也会访问内存。

每个进程都有自己的私有虚拟地址空间,操作系统将以某种方式映射到机器的物理内存上。一个正在运行的程序中的内存引用不会影响其他进程的自治空间,就正在运行的程序而言,它本身都有自己的物理内存。然而真实情况是,物理内存是由操作系统管理的共享资源。

2.3 并发性

在这里插入图片描述

上述程序中,创建了两个线程,都执行counter++操作,主线程等待两个线程执行完后输出counter的值,发现counter的值不等于2*loops的值,这是因为执行counter++操作需要三条指令:1.将计数器的值从内存中加载到寄存器中 2.计算器递增 3. 将值存储回内存。因为这三条指令不是原子 (一次全部)执行的,就会发生奇怪的事情。

2.4 持久化

现代系统中,硬盘驱动器 是长期有效信息的通用存储器。操作系统中管理硬盘的软件被称为文件系统

不同于操作系统为 CPU 和内存提供的抽象,操作系统不会为每个程序创建 一个私有的、虚拟的硬盘。相反,还要假定用户需要经常共享文件中的信息 。

转载地址:http://jcaen.baihongyu.com/

你可能感兴趣的文章
Altium_Designer如何快速寻找元件和封装
查看>>
PCB各层介绍和AltiumDesigner画PCB时的规则设置
查看>>
char*,const char*和string 三者转换
查看>>
[PADS经验] 【图文并茂】教你如何使用Altium Designer画封装
查看>>
Altium Designer 教程
查看>>
字符串与数字转换方法
查看>>
利用Inoreader跟踪ScienceDirect最新文献教程
查看>>
VS2010/MFC编程入门之二十七(常用控件:图片控件Picture Control)
查看>>
STM32下SPI模式通过MAX7219驱动8位数码管显示模块
查看>>
目标检测的图像特征提取之(一)HOG特征
查看>>
web前端开发分享-css,js工具篇
查看>>
jQuery 学习笔记(未完待续)
查看>>
如何用万用表检测MOS管是好是坏?
查看>>
LabWindows/CVI入门之第一章:LabWindows/CVI开发环境
查看>>
LabWindows/CVI入门之第二章:GUI开发
查看>>
labwindows下保存数据为csv格式
查看>>
Google 推出的 Java 编码规范
查看>>
Java学习博客等收集
查看>>
一些前端设计相关网站收集
查看>>
摄影构图的几种基本方法
查看>>