操作系统知识点整理(三)

引用 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 寻址了解吗?为什么需要虚拟地址空间?

总结来说:如果直接把物理地址暴露出来的话会带来严重问题,⽐如可能对操作系统造成伤害以

及给同时运⾏多个程序造成困难。

通过虚拟地址访问内存有以下优势:

程序可以使⽤⼀系列相邻的虚拟地址来访问物理内存中不相邻的⼤内存缓冲区

虚拟内存是计算机系统内存管理的⼀种技术,我们可以⼿动设置⾃⼰电脑的虚拟内存。不要单纯

认为虚拟内存只是使⽤硬盘空间来扩展内存的技术。虚拟内存的重要意义是它定义了⼀个连续

的虚拟地址空间,并且 把内存扩展到硬盘空间

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

trigger333

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值