四大件之操作系统|操作系统知识点整理(三)

引用 javaguide 4
目录
什么是系统调?
进程线程的区别
进程同步方式
线程间的同步的?式
操作系统的内存管理机制
分?机制和分段机制有哪些共同点和区别呢
CPU 寻址了解吗?为什么需要虚拟地址空间?
通过虚拟地址访问内存有以下优势:

什么是系统调? 根据进程访问资源的特点,我们可以把进程在系统上的运?分为两个级别:
1. ?户态(user mode) : ?户态运?的进程或可以直接读取?户程序的数据。
2. 系统态(kernel mode):可以简单的理解系统态运?的进程或程序?乎可以访问计算机的任何资源,不受限制。
说了?户态和系统态之后,那么什么是系统调?呢?
我们运?的程序基本都是运?在?户态,如果我们调?操作系统提供的系统态级别的?功能,就需要系统调?。
也就是说在我们运?的?户程序中,凡是与系统态级别的资源有关的操作(如?件管理、进程控制、内存管理等)


进程线程的区别 线程是进程划分成的更?的运?单位,?个进程在其执?的过程中可以产?多个线程。线
程和进程最?的不同在于基本上各进程是独?的,?各线程则不?定,因为同?进程中的线程极
有可能会相互影响。线程执?开销?,但不利于资源的管理和保护;?进程正相反。 进程同步方式 7种信号 信号量 管道 有名管道 套接字 共享内存 消息队列
线程间的同步的?式 线程同步是两个或多个共享关键资源的线程的并发执?。应该同步线程以避免关键的资
源使?冲突。操作系统?般有下?三种线程同步的?式:
1. 互斥量(Mutex):采?互斥对象机制,只有拥有互斥对象的线程才有访问公共资源的权限。
因为互斥对象只有?个,所以可以保证公共资源不会被多个线程同时访问。?如 Java 中的
synchronized 关键词和各种 Lock 都是这种机制。
2. 信号量(Semphares) :它允许同?时刻多个线程访问同?资源,但是需要控制同?时刻访
【四大件之操作系统|操作系统知识点整理(三)】问此资源的最?线程数量
3. 事件(Event) :Wait/Notify:通过通知操作的?式来保持多线程同步,还可以?便的实现多线程优先级的比较操作。

操作系统的内存管理机制 四种:
块 页 段 段页式
分的地址大小排序:块 > 页 > 段
简单分为连续分配管理?式和?连续分配管理?式这两种。连续分配管理?式是指为?个?户程
序分配?个连续的内存空间,常?的如 块式管理 。同样地,?连续分配管理?式允许?个程序
使?的内存分布在离散或者说不相邻的内存中,常?的如?式管理 和 段式管理。

?式管理 :把主存分为??相等且固定的????的形式,??,相对相?于块式管理的划分?度更?,提?了内存利?率,减少了碎?。
在分?内存管理中,很重要的两点是:
1. 虚拟地址到物理地址的转换要快。快表可以解决
2. 解决虚拟地址空间?,?表也会很?的问题。

分?机制和分段机制有哪些共同点和区别呢 1. 共同点 :
分?机制和分段机制都是为了提?内存利?率,减少内存碎?。
?和段都是离散存储的,所以两者都是离散分配内存的?式。但是,每个?和段中的内
存是连续的。
2. 区别
?的??是固定的,由操作系统决定;?段的??不固定,取决于我们当前运?的程序。
分?仅仅是为了满?操作系统内存管理的需求,?段是逻辑信息的单位,在程序中可以
体现为代码段,数据段,能够更好满??户的需要。
CPU 寻址了解吗?为什么需要虚拟地址空间? 总结来说:如果直接把物理地址暴露出来的话会带来严重问题,?如可能对操作系统造成伤害以
及给同时运?多个程序造成困难。
通过虚拟地址访问内存有以下优势:程序可以使??系列相邻的虚拟地址来访问物理内存中不相邻的?内存缓冲区
虚拟内存是计算机系统内存管理的?种技术,我们可以?动设置??电脑的虚拟内存。不要单纯
认为虚拟内存只是“使?硬盘空间来扩展内存“的技术。虚拟内存的重要意义是它定义了?个连续
的虚拟地址空间,并且 把内存扩展到硬盘空间。

    推荐阅读