操作系统基础知识

2018-02-23  本文已影响12人  aron1992

操作系统基础知识

计算机基础知识主要讲到两个重要的主题:

程序运行内存分配策略

传统策略

和物理地址一一对应,会有如下问题

分段策略

分段策略
分段策略可以解决传统策略中的第一个和第三个问题,但是第二个问题依然存在

分页方式

分页方式

虚拟存储的实现需要依赖硬件的支持,CPU采用一个叫MMU(Memory Management Unit)的部件来进行页映射

MMU

线程

线程,有时被称为轻量级的进程,是程序流执行的最小单元,一个线程有线程ID、当前指令指针、寄存器集合和堆栈组成。通常,一个进程由多个线程组成,各个线程共享程序的内存空间(代码段、数据段、堆栈)以及一些进程级的资源(如文件的打开和信号)

程序线程

线程有以下三个状态:

线程状态转换图:

线程状态

在多线程环境下,两个线程同时进行如下操作,有可能遇到线程安全问题:

线程安全

在多线程环境下,有可能出现如下的结果

线程安全问题

和预期的不一致,其实这个场景可能得到0、1、2三种结果,多个线程共享数据会导致意想不到的结果,可以使用锁的机制实现多线程的数据共享处理。

上一篇下一篇

猜你喜欢

热点阅读