操作系统 常见问题

什么是操作系统?

操作系统(OS)是管理计算机硬件与软件资源的程序,是计算机的基石。
操作系统本质上是一个运行在计算机上的软件程序,用于管路计算机硬件和软件资源。
操作系统的存在屏蔽了硬件层的复杂性。
操作系统的内核是操作系统的核心部分,它负责系统的内存管理,硬件设备的管理,文件系统的管理以及应用程序的管理。内核是连接应用程序和硬件的桥梁,决定着系统的性能和稳定性。

什么是系统调用?

首先了解用户态和系统态;

用户态:用户态运行的进程可以直接读取用户程序的数据。
系统态:可以简单的理解系统态运行的进程或程序几乎可以访问计算机的任何资源,不受限制。

我们运行的程序基本都是运行在用户态,如果我们调用操作系统提供的系统态级别的子程序怎么办?那就需要系统调用了。

也就是说在我们运行的用户程序中,凡是与系统态级别的资源有关的操作(如文件管理、进程控制、内存管理等),都必须通过系统调用的方式向操作系统提出服务请求,并由操作系统代为完成。

死锁的四个条件

1、资源互斥:所申请的资源处于非共享状态,即一次只能有一个进程可以使用。如果另一进程申请该资源,那必须等待直到该资源被释放为止。
2、占有并等待:一个进程至少应该占有一个资源,并等待另一个资源,而该资源被其他进程所占有。
3、非抢占:资源不能被抢占。只能在持有资源的进程完成任务后,该资源才回被释放。
4、循环等待:有一组等待进程{p1,p2,p3,p4,p5},p1等待的资源被p2占有,p2等待的资源被p3占有等等。

内存管理介绍

操作系统的内存管理主要负责内存的分配与回收(malloc函数:申请内存,free函数:释放内存),另外地址转换也就是将逻辑地址转换成相应的物理地址等功能,也是操作系统内存管理做的事情。

常见的几种内存管理机制

内存管理简单分为连续分配管理方式和非连续分配管理方式这两种。连续分配管理方式是指为一个用户程序分配一个连续的内存空间,常见的如块式管理。同样地,非连续分配管理方式允许一个程序使用的内存分布在离散或者说不相邻的内存中,常见的如页式管理段式管理。

1、块式管理:远古时代的计算机操作系统的内存管理方式。将内存分为几个固定大小的块,每个块中只包含一个进程。如果程序运行需要内存的话,操作系统就分配给它一块,如果程序运行只需要很小的空间的话,分配到这块内存很大一部分几乎被浪费了。这些在每个块中未被利用的空间,我们称之为碎片。

2、页式管理:把主存分为大小相等且固定的一页一页的形式,页较小,相对相比于块式管理的划分力度更大,提高了内存利用率,减少了碎片。页式管理通过页表对应逻辑地址和物理地址。

3、段式管理:页式管理虽然提高了内存利用率,但是页式管理其中的页实际并无任何意义。短时管理把主存分为一段段的,每一段的空间又比一页的空间小很多。但是,最重要的是段是有实际意义的,每个段定义了一组逻辑信息,例如,有主程序段MAIN、子程序段X、数据段D以及栈段S等。段式管理通过段表对应逻辑地址和物理地址。

4、段页式管理机制:段页式管理机制结合段式管理和页式管理的优点,简单来说段页式管理机制就是把主存先分成若干段,每个段又分为若干页,也就是说段页式管理机制中段与段之间以及段的内部都是离散的。

为了提高内存的空间性能,提出了多级页表的概念;但是提到空间性能是以浪费时间性能为基础的,因此为了补充损失的时间性能,提出了快表(即TLB)的概念。不论是快表还是多级页表实际上都利用到了程序的局部性原理,局部性原理在后面的虚拟内存部分会介绍到。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值