操作系统基础知识

  1. 进程和线程的区别

    img
    • 进程是系统进行资源分配和调度的一个独立单位, 线程是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位,最小的 CPU 执行单元。
    • 地址空间:同一进程的线程共享本进程的地址空间,而进程之间则是独立的地址空间。
    • 资源拥有:同一进程内的线程共享本进程的资源如内存、I/O、cpu等,但是进程之间的资源是独立的。
    • 执行过程:每个独立的进程有一个程序运行的入口、顺序执行序列和程序入口。但是线程不能独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制
    • 进程切换时,消耗的资源大,效率不高。所以涉及到频繁的切换时,使用线程要好于进程。
    • 作用:进程,使多个程序并发执行,以提高系统的资源利用率和吞吐量;线程,减少程序在并发执行时所付出的时空开销,提高操作系统的并发性能。
    • 一个进程崩溃后,在保护模式下不会对其他进程产生影响,但是一个线程崩溃整个进程都死掉。所以多进程要比多线程健壮。
  2. 什么是死锁?死锁的四个必要条件

    死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞现象,若无外力作用,它们都将无法推进下去。此时系统处于死锁状态或系统产生了死锁。

    四个必要条件

    • 互斥

      资源一次只有被一个进程使用。如果另一进程申请该资源,那么申请进程应等到该资源释放为止。

    • 占有并保持

      —个进程应占有至少一个资源,并等待另一个资源,而该资源为其他进程所占有。

    • 不可剥夺

      进程所获得的资源在未使用完毕之前,不能被其他进程强行夺走,即只能由获得该资源的进程自己来释放。

    • 循环等待

      指在发生死锁时,必然存在一个进程——资源的环形链:有一组等待进程 {P0,P1,…,Pn},P0 等待的资源为 P1 占有,P1 等待的资源为 P2 占有,……,Pn-1 等待的资源为 Pn 占有,Pn 等待的资源为 P0 占有。

  3. 什么是虚拟内存?虚拟内存机制是通过什么手段来实现的?操作系统页面置换算法?重点其中的LRU算法->延伸leetcode146题

    参考:https://blog.csdn.net/u014454538/article/details/99882141

    1. 虚拟内存实质

      将进程的地址空间叫做虚拟地址空间,对这片空间进行分块;使用某些机制,如分页机制、分段机制、段页式机制,将每个页映射到物理内存中,即将虚拟地址映射为物理地址。这样进程访问的是虚拟地址,内部会被转化成存储了代码或数据的物理地址,从而访问到想要的代码或数据。

    2. 优点

      • 通过使用虚拟内存技术,可以将物理内存扩大成更大的虚拟内存,从而不用担心小容量的内存对程序设计的限制。
      • 逻辑内存与物理内存分开外,虚拟内存允许文件和内存通过共享页而为多个进程所共享。
    3. 如何实现虚拟内存?

      通过分页分段段页式三种机制,实现虚拟内存。

      • 分页

        将进程的虚拟地址空间划分成页,虚拟地址页号 + 偏移量组成。通过查找页表中的页表项(PTE),可以获得该页对应的物理内存页框号页框号 + 虚拟地址中的偏移量构成物理地址,进程便可以访问到代码或数据。

      • 分段

        我们可以把内存看作多个段,每个段构成一个独立的地址空间。与分页相比,每个段的大小是不固定的,且可以动态增长

      • 段页式

        将进程的地址空间划分成多个段,每个段有划分成多个页。

        这样可以既拥有分段共享和保护的优点,还能拥有分页的虚拟内存功能。

    4. 页面置换算法

      • 最佳置换算法(OPT)

        选择置换下次访问距离当前时间最长的那些页。

      • 先进先出置换算法(FIFO)

        总是选择在主存中停留时间最长(即最老)的一页置换,即先进入内存的页,先退出内存。

      • 最近最少使用(LRU)

        选择上次访问时间距离当前最远的页进行置换。理论基础:根据局部性原理,这样的页是最近最不可能访问的。

  1. 计算机内存和磁盘的关系

    计算机系统出了内存之外,还有一个非常重要的硬件,那就是磁盘。他们都是用于计算机存储,但是内存是利用电流来实现存储,而磁盘是利用磁效应来实现存储,并且,从存储容量来看, 内存是高速高价,而磁盘则是低速廉价。在计算机这个系统中,高速小容量的内存与低速高容量的磁盘进行协同作业。

    我们知道计算机是利用CPU进行数据的运算的,但CPU只能对内存中的数据进行运算,而对于磁盘中的数据是不能运算的。如果要运算磁盘中的数据,必须先把磁盘中的数据读入内存,CPU才能进行运算。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 193,968评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,682评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,254评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,074评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 60,964评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,055评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,484评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,170评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,433评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,512评论 2 308
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,296评论 1 325
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,184评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,545评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,880评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,150评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,437评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,630评论 2 335

推荐阅读更多精彩内容

  • 进程和线程的区别。(1)进程是操作系统分配和管理资源的单位,线程是CPU调度和管理的单位,是CPU调度的最小单元。...
    关玮琳linSir阅读 3,180评论 0 7
  • 1:什么是操作系统 2:线程与进程介绍 3:进程间的通信的几种方式? 3:线程同步的方式有哪些? 4:线程同步的方...
    _River_阅读 419评论 0 2
  • 操作系统概述 1、操作系统作用:管理软硬件资源、组织工作流程、控制程序指令提供用户接口2、操作系统特征:并发性、共...
    北冥有鱼wyh阅读 448评论 0 1
  • 操作系统 进程 进程是程序的一次执行过程,是系统进行资源分配和调度的一个独立单位,目的是为了更好地描述和控制程序的...
    续袁阅读 462评论 0 0
  • 操作系统基础知识 计算机基础知识主要讲到两个重要的主题: 操作系统为程序分配内存的策略 线程和线程安全 程序运行内...
    aron1992阅读 241评论 0 0