알리, 바이두, Jingdong (SP), 운영 체제 (답변) 화웨이 얼굴 질문 하이라이트

사설 :

많은 것들 중에 끝, 경험에 와서 일을 찾고, 또한 질문을 많이 생각하고, 마지막으로 몇 가지 무거운 물건을 얻을 - 알리, 바이두, Jingdong (SP), 화웨이 및 기타 식물에서 제공의 수를 증가. 다행히도, 모든 것이 좀 필기 시험 / 면접 경험을 주문하는 동안이 경험의 일부의 좋은 요약을 위해, 궤도 옆에만 가치가, 대중과 건조, 공유를했다.

알리, 바이두, Jingdong (SP), 운영 체제 (답변) 화웨이 얼굴 질문 하이라이트

프로세스와 스레드와 자신의 차이

  1. 봉지 공정은 시스템 리소스 할당 및 스케쥴링, 동시 운영 시스템을 달성하기위한 기본 유닛 인, 프로그램을 실행하는 것;
  2. 스레드는 CPU 기본 스케줄링 유닛과 동시에 내부 프로세스를 달성하기 위해 실시간 검증 절차 디스패치 하위 프로세스이다;
  3. 프로그램은 프로세스, 스레드가 존재하는 프로세스에 의존하는 적어도 하나 개의 나사를 가지며, 적어도 하나 개의 공정을 갖는다;
  4. 프로세스는 실행 과정에서 별도의 메모리 유닛을 구비하고, 복수의 스레드는 메모리의 공유 방법.

프로세스 간 통신의 여러 가지 방법

  1. 도관 (파이프) 및 명명 된 파이프 (네임드 파이프) 파이프 상위 및 유전 적 관계의 추가는,이 유전 관계 프로세스 간의 무료 통신 기능을 허용했다 갖는 파이프를 갖는 자식 네임드 파이프 간의 통신을 위해 사용될 수있다;
  2. 시그널 (신호)이 통신 신호의 수신 처리가 발생했음을 통지하는 데 사용되는 이벤트의 더욱 정교한 수단;
  3. 메시지 큐는 : 메시지 큐 쓰기 권한은 특정 규칙에 따라 메시지 큐에 추가 될 수있는 새로운 정보를 처리 할 필요가있는 단점을 제한된 양의 통신 신호의 두 가지 방법을 극복 메시지의 결합 표이며, 메시지 큐에 대한 읽기 권한을 정보를 얻는 과정은 상기 메시지 큐로부터 판독 될 수있다;
  4. 공유 메모리 (Shared Memory) :이 의사 소통의 과정의 가장 유용한 중 하나입니다 말할 수 있습니다. 이는 여러 프로세스가 공유 메모리의 데이터를 처리 할 수있는 서로 다른 프로세스가 갱신 된 표시 시간에 동일한 메모리 공간에 액세스 할 수있다. 이러한 방식으로는 뮤텍스와 세마포어와 같은 동기화, 어떤 종류의에 의존;
  5. 세마포어 : 주로 프로세스와 같은 프로세스의 다른 스레드 및 전용 수단 간의 동기화를 얻는 등;
  6. 소켓이 다른 머신 간의 네트워크 프로세스 간 통신에 사용될 수있는 일반적인 프로세스 간 통신 메커니즘, 널리 사용되고있다.

스레드 동기화 모드

  1. 뮤텍스 동기화 / 잠금 : 뮤텍스 메커니즘을 사용하여, 전용 권한 뮤텍스 스레드를 가진 사람들은 공공 자원에 액세스 할 수 있습니다. 만 뮤텍스 개체 때문에 공공 자원을 여러 스레드가 동시에 액세스 할 수 없음을 확보 할 수있다
  2. 세마포어 Semphare : 그것은 동시에 여러 스레드가 같은 리소스에 액세스하지만, 스레드의 시간 최대 번호로 접속이 리소스를 제어 할 필요가 있습니다
  3. 이벤트 (신호), 통지 / 대기 : 통지의 방법으로 멀티 스레드 동기화 작업을 유지하기 위해, 또한 비교 작업의 멀티 스레드 우선 순위의 실현을 용이하게

교착 상태가 무엇입니까? 조건은 교착 상태를 생산?

개념 교착 상태

각 프로세스가 자원을 보유하고 있지만, 그것을 풀어 다른 프로세스를 기다려야하거나 지금 말, 변경되지 않는이 상태에서 자원을 유지하는 경우 두 개 이상의 동시 프로세스에서, 우리는 전에 앞으로 이동할 수 없습니다 그룹 프로세스가 교착했다. 인기 말하기, 두 개 이상의 프로세스가 무기한 각각 하나 개의 상태 기다리고 차단됩니다.

교착 상태에 대한 네 가지 필요 조건

  1. 상호 배타적 인 : 적어도 하나의 자원 만 프로세스에서 사용할 수있는 비 공유 모드에 속해야합니다, 다른 응용 프로그램이 리소스를 사용하는 경우 자원이 해제 될 때까지 응용 프로그램 프로세스가 대기해야합니다;
  2. 점유율 기다립니다 : 프로세스는 적어도 하나 개의 자원을 점유하고, 다른 리소스를 기다리고, 그 자원은 다른 프로세스에 의해 점유해야합니다
  3. 비 선점 : 프로세스가 선점 할 수없는, 그에만 자발적으로 작업 공정 자원의 완료 이후에 출시 될 수있다
  4. 사이클을 기다린 : 최종 환형 단부 사이의 관계 자원을 기다리는 복수의 프로세스를 형성 할

기본 전략 및 일반적인 방법 교착 상태를 처리

주요 예방 교착 교착에 염기성 용액과 교착 교착 검출 교착 리프팅 타조 전략을 피한다.

교착 상태 예방

기본적인 아이디어는 교착 상태가 어느 하나라도 만족하지에 발생을 위해 단지 교착 상태의 발생을 방지 할 수 있습니다, 네 가지 필요한 조건의 확인 교착 상태 예방을 만드는 것입니다, 구체적인 방법은 다음과 같습니다 :

  • 상호 배타적 인 조건 브레이크 : 프로세스가 동시에 특정 리소스에 액세스 할 수 있습니다. 그러나, 일부 자원이 자원 자체의 성질에 의해 결정되는 여러 프로세스에 의해 공유 될 수 없으며, 따라서,이 방식은 일반적으로 실질적인 값이 없다.
  • 휴식의 점유율 및 조건 기다립니다 당신은 미리 할당 된 자원 전략을 수행 할 수 있습니다 (한 번 신청 절차 모두가 필요한 모든 자원이 충족되지 않을 경우, 일시적으로 실행이 과정에 리소스를 할당하지 전에 시스템을 실행하는 데 필요한 자원; 시스템은 현재 프로세스, 응용 프로그램의 스레드 모든 자원의 일회성 할당에 필요한) 또는 (리소스에 대한 일부 리소스에 적용하고 사용할 수있는 프로세스를 적용 할 수있는 점령 자원에는 프로세스가 존재하지 않는 경우에만 허용 모든 자원을 만날 수있는 경우에만 현재 프로세스가 더 많은 자원을 적용하기 전에, 그것은 현재 점유 된 모든 자원을) 해제해야합니다. ; 동시에 감소 과정의 결과로, 리소스 활용을 줄일 수 많은 경우에 프로세스가 동적으로 예측할 수행하기 때문에, 프로세스의 구현하기 전에 필요한 모든 자원을 예측할 수 : 그러나,이 전략은 또한 몇 가지 단점이있다 동시성.
  • 비 선점 조건을 깨고 : 프로세스가 강제 경우 일부 리소스 거주자에서 촬영 할 수 있습니다. 즉이지만 과정은 새로운 자원의 응용 프로그램에서 자원의 일부를 차지하고 만족하지, 그것은 다른 스레드를 허용하기 위해 보유하고있는 모든 자원을 해제해야합니다. 교착 상태의 어려움을 방지 할 수있는 방법을 구현하기 위해서는 시스템 성능이 저하 될 수 있습니다.
  • 자원 할당 전략의 질서 구현 : 조건이 사이클을 깰 때까지 기다립니다. 모든 자원을 번호 매기기, 자원에 대한 모든 프로세스 요청은 교착 상태의 발생을 방지하기 위해 루프를 반환하지 않도록, 많은 자원을 적용하는 작은 자원을 차지한다고 제안 자원의 수를 증가의 순서를 엄격하게 준수해야한다.

기본적인 아이디어 교착 상태 회피

기본적인 아이디어는 교착 동적 순환 대기 조건을 보장하기 위해 자원 할당 상태를 검출 피하기 위해 시스템이 안전한 상태인지 확인하기 위하여, 만족되지 않는다. 소위 안전한 상태를 의미한다 : 시스템은 각 프로세스 (최대 값을 초과하지 않음)의 순서에 따라 자원을 할당 할 수 있다면, 시스템 상태는 안전한 시퀀스가 ​​존재하는 경우, 시스템이 안전한 상태인지, 바꿔 말하면, 안전 . 자원 할당 그래프 알고리즘 및 은행 알고리즘은 시스템을 안전하게 유지되도록 두 고전 교착 상태 회피 알고리즘이다. 항에있어서, 상기 은행의 알고리즘의 다중 인스턴스를 가질 수있는 각각의 자원 유형을인가하면서 각 자원 타입도 시나리오의 자원 할당 알고리즘 만 (응용 측면, 측면 분배, 수요 측은 고리 분포를 형성 할 수 없다) 일례 장면입니다.

교착 상태 리프트

두 가지 방법은 일반적으로 교착 상태를 완화하고 선점 프로세스가 종료 자원하는 데 사용됩니다. ** 이른바 선제 공격을 의미, 모든 프로세스 교착 상태를 종료하고 한 번만 취소 교착 상태주기 때까지 프로세스를 종료 : ** 소위 프로세스가 종료 두 가지 방법을 포함하여, 대기의 고리를 끊어야 하나 개 이상의 프로세스를 종료하기 위해 단순히 의미 하나 또는 하나 개 이상의 자원을 장악이 더 공정 교착 상태에서, 우리는 지금 세 가지 질문을 고려해야합니다 :

  1. 피해자를 선택
  2. 롤백 : 안전한 상태로 롤백
  3. 기아 (및 비용 요인에 롤백의 수는 더욱 더 롤백은 항상 프로세스가 롤백 방지, 피해자 계속할 수 없습니다)

몇 가지 상태를 가지고 프로세스?

  1. 준비 : 프로세스 프로세서 이외의 리소스 요구를 수신, 리소스 할당 프로세서 대기;
  2. 상태를 작동 : 실행하는 프로세서 리소스를 점유,이 상태의 과정은 CPU의 수와 동일한 수보다 작다;
  3. 차단 : 조건이 충족 될 때까지 프로세스가 어떤 조건을 기다리고, 수행 할 수 없습니다;

알리, 바이두, Jingdong (SP), 운영 체제 (답변) 화웨이 얼굴 질문 하이라이트

여러 국가에서 스레드?

자바 가상 머신에서 ** 초기 생성에서 최종 죽음에 스레드 상태의 숫자를 통해 이동합니다 :, 준비 (실행 가능한 / 시작), 실행 (실행), 폐쇄 (차단)을 (새)를 생성, 대기 (대기) (시간 대기) 기다려 실종 (죽은 / 종료). ** 주어진 시점에서, 오직 하나 개의 상태의 스레드는 각각의 의미는 상태는 다음과 같이 :

알리, 바이두, Jingdong (SP), 운영 체제 (답변) 화웨이 얼굴 질문 하이라이트

스레드 상태 사이의 전환은 다음과 같습니다 :

알리, 바이두, Jingdong (SP), 운영 체제 (답변) 화웨이 얼굴 질문 하이라이트

차이 (메모리 관리) 무엇 페이징 및 분할?

스토리지 관리 사용자 메모리 할당 관리 프로그램의 관점 라인 세그먼트이다. ** 프로그램의 주소 공간에서 스토리지 관리 세그먼트는 같은 코드 세그먼트, 데이터 세그먼트, 스택 세그먼트 (세그먼트)와 같은 여러 개의 세그먼트로 분할되며, 각각의 프로세스는 서로를 방해하지 않고 서로 독립적 이차원 주소 공간을 갖는다되도록. ** - 단계 관리의 장점은 다음과 같습니다에는 내부 분열이 (변수 세그먼트 크기 때문에, 파편을 제거하기 위해 세그먼트 크기를 변경할 수 없음). 그러나 세그먼트가 스왑 아웃 외측 생성 단편 (예컨대 부 4K 5K 변환기 세그먼트로서, 1K 외부 파편을 생성한다)

페이지 저장 관리 프로그램은 사용자 메모리 및 물리적 메모리 관리에 별도의 메모리 할당 방식의 사시도이다. 페이지 스토리지 관리에 대한 프로그램의 논리 어드레스는 고정 된 크기의 페이지 (페이지)으로 분할하고, 물리적 메모리는 프로그램이로드되고 동일한 크기의 프레임들로 분할하고, 어느 하나가 어느 하나의 프레임 메모리에 배치 될 수 있으며, 프레임함으로써 이산 분리를 실현 연속 될 필요는 없다. 외부 단편화 (페이지 크기가 고정되어 있기 때문에)하지만, 생성 된 파편 내에서 (페이지는 불만을 채울 수) : 페이지 된 메모리 관리는 이점이 없습니다.

两者的不同点:

  1. 目的不同:分页是由于系统管理的需要而不是用户的需要,它是信息的物理单位;分段的目的是为了能更好地满足用户的需要,它是信息的逻辑单位,它含有一组其意义相对完整的信息;
  2. 大小不同:页的大小固定且由系统决定,而段的长度却不固定,由其所完成的功能决定;
  3. 地址空间不同: 段向用户提供二维地址空间;页向用户提供的是一维地址空间;
  4. 信息共享:段是信息的逻辑单位,便于存储保护和信息的共享,页的保护和共享受到限制;
  5. 内存碎片:页式存储管理的优点是没有外碎片(因为页的大小固定),但会产生内碎片(一个页可能填充不满);而段式管理的优点是没有内碎片(因为段大小可变,改变段大小来消除内碎片)。但段换入换出时,会产生外碎片(比如4k的段换5k的段,会产生1k的外碎片)。

操作系统中进程调度策略有哪几种?

  • FCFS(先来先服务,队列实现,非抢占的):先请求CPU的进程先分配到CPU
  • SJF(最短作业优先调度算法):平均等待时间最短,但难以知道下一个CPU区间长度
  • 优先级调度算法(可以是抢占的,也可以是非抢占的):优先级越高越先分配到CPU,相同优先级先到先服务,存在的主要问题是:低优先级进程无穷等待CPU,会导致无穷阻塞或饥饿;解决方案:老化
  • 时间片轮转调度算法(可抢占的):队列中没有进程被分配超过一个时间片的CPU时间,除非它是唯一可运行的进程。如果进程的CPU区间超过了一个时间片,那么该进程就被抢占并放回就绪队列。
  • 多级队列调度算法:将就绪队列分成多个独立的队列,每个队列都有自己的调度算法,队列之间采用固定优先级抢占调度。其中,一个进程根据自身属性被永久地分配到一个队列中。
  • 多级反馈队列调度算法:与多级队列调度算法相比,其允许进程在队列之间移动:若进程使用过多CPU时间,那么它会被转移到更低的优先级队列;在较低优先级队列等待时间过长的进程会被转移到更高优先级队列,以防止饥饿发生。

说一说进程同步有哪几种机制

原子操作、信号量机制、自旋锁管程、会合、分布式系统

什么是虚拟内存?

内存的发展历程

没有内存抽象(单进程,除去操作系统所用的内存之外,全部给用户程序使用) —> 有内存抽象(多进程,进程独立的地址空间,交换技术(内存大小不可能容纳下所有并发执行的进程)

)—> 连续内存分配(固定大小分区(多道程序的程度受限),可变分区(首次适应,最佳适应,最差适应),碎片) —> 不连续内存分配(分段,分页,段页式,虚拟内存)

虚拟内存

虚拟内存允许执行进程不必完全在内存中。虚拟内存的基本思想是:每个进程拥有独立的地址空间,这个空间被分为大小相等的多个块,称为页(Page),每个页都是一段连续的地址。这些页被映射到物理内存,但并不是所有的页都必须在内存中才能运行程序。当程序引用到一部分在物理内存中的地址空间时,由硬件立刻进行必要的映射;当程序引用到一部分不在物理内存中的地址空间时,由操作系统负责将缺失的部分装入物理内存并重新执行失败的命令。这样,**对于进程而言,逻辑上似乎有很大的内存空间,实际上其中一部分对应物理内存上的一块(称为帧,通常页和帧大小相等),还有一些没加载在内存中的对应在硬盘上,**如下图所示。

알리, 바이두, Jingdong (SP), 운영 체제 (답변) 화웨이 얼굴 질문 하이라이트

注意,请求分页系统、请求分段系统和请求段页式系统都是针对虚拟内存的,通过请求实现内存与外存的信息置换。

由上图可以看出,虚拟内存实际上可以比物理内存大。当访问虚拟内存时,会访问MMU(内存管理单元)去匹配对应的物理地址(比如上图的0,1,2)。如果虚拟内存的页并不存在于物理内存中(如上图的3,4),会产生缺页中断,从磁盘中取得缺的页放入内存,如果内存已满,还会根据某种算法将磁盘中的页换出。

页面置换算法

  1. FIFO先进先出算法:在操作系统中经常被用到,比如作业调度(主要实现简单,很容易想到);
  2. LRU(Least recently use)最近最少使用算法:根据使用时间到现在的长短来判断;
  3. LFU(Least frequently use)最少使用次数算法:根据使用次数来判断;
  4. OPT (최적 교체) 최적의 교체 알고리즘 : 최고의 이론, 이론, 즉, 교체 페이지에서 더 이상 사용하지 않은지 확인 또는 실제 메모리의 최신 알고리즘을 사용합니다.

가상 메모리의 응용 프로그램 및 장점

가상 메모리는 멀티 채널 프로그래밍 시스템에서 사용하기위한, 프로그램의 많은 조각이 동시에 메모리에 저장에 적합하다. 프로그램이 메모리에 그것의 일부를 기다리는 경우, 다른 프로세스에 CPU를 사용할 수 있습니다. 가상 메모리의 사용은 다음과 같은 이점을 가져올 수 :

  1. 메모리에서 시스템 동시성을 향상, 여러 프로세스를 보유 할 수
  2. 사용자와 메모리 사이의 엄격한 제한의 해제는, 처리는 전체 메모리 공간보다 클 수있다

충돌

울퉁불퉁 근본적 구체적 프로세스 페이지 폴트가, 그리고,이 페이지로 교체되어야 발생 빈번한 페이지 스케줄링 동작을 말한다. 그러나 모든 다른 페이지를 사용, 그것은이 페이지로 대체하지만, 다시 한번이 페이지를 필요로한다. 따라서, 우리는 전체 시스템, 범프 (지터)로 알려진 현상의 효율성의 급격한 하락의 결과로 페이지 오류를 생성하는 것입니다.

메모리 울퉁불퉁 해결 전략은 다음과 같습니다 :

  • 이 대체 페이지의 정책 실수 때문에 경우이 문제를 해결하기 위해 교체 알고리즘을 수정할 수 있습니다;
  • 동시에 실행 너무 많은 프로그램이 메모리에 모든 자주 액세스하는 페이지에 프로그램을 발생하지 않습니다 때문입니다 경우, 멀티 채널 프로그램의 수를 줄일 수있을 것이다;
  • 프로세스를 종료 또는 물리적 메모리의 양을 증가 : 그렇지 않으면, 두 가지 옵션이 있었다.

지역의 원리

  1. 시간에 지역 : 최근 가까운 미래에 액세스 할 것이다 액세스 페이지;
  2. 공간에서 현지화 : 액세스되는 페이지 메모리 주위 페이지에는 액세스 할 가능성이있다.

종료

친구들이 작은 칭찬과 관심, 저자의 지원을 기억처럼, 감사합니다

추천

출처blog.csdn.net/qwe123147369/article/details/92646371