[운영 체제] FAQ 요약

2628 단어 운영 체제
  • 1 프로세스와 루틴
  • 2 프로세스 간 통신
  • 3 버퍼 오버플로우
  • 4 고정 잠금
  • 5 프로세스 스케줄링 전략
  • 6 프로세스 동기화 방식

  • 1. 프로세스와 스레드
    1 프로세스와 라인의 개념 프로세스: 일정한 기능을 가진 프로그램이 특정한 데이터 집합에 대한 실행 활동이고 프로세스는 시스템이 자원 스케줄링과 분배를 하는 독립된 단위이다.스레드: 프로세스의 실체이며 CPU 스케줄링과 분배의 기본 단위이며 프로세스보다 작고 독립적으로 실행할 수 있는 기본 단위이다.
    2 프로세스와 라인의 관계
    a. 한 라인은 다른 라인을 만들고 취소할 수 있으며 한 프로세스에서 여러 라인을 동시에 실행할 수 있다.b. 프로세스에 비해 루틴은 집행체의 개념에 더욱 가깝다. 여러 루틴은 같은 프로세스의 자원을 공유할 수 있고 각 루틴은 자신의 개인 공간을 가지고 독립된 실행 서열을 가진다.c. 프로세스는 독립된 주소 공간을 가지고 보호 모드에서 프로세스가 붕괴될 때 다른 프로세스에 영향을 주지 않는다.라인은 자신의 덤프와 국부 변수가 있지만 라인 사이에 독립된 주소 공간이 없기 때문에 한 라인의 사망은 프로세스의 사망에 해당한다.따라서 다중 프로세스의 프로그램은 다중 프로세스의 프로그램보다 더욱 건장성을 가지지만 프로세스 간 전환은 자원을 많이 소모하고 대략 프로세스 간 전환의 10배 정도 소모하기 때문에 다중 프로세스는 더욱 높은 효율을 가진다.
    루틴과 프로세스의 차이점: 1, 프로세스: 하위 프로세스는 부모 프로세스의 복제품입니다.하위 프로세스는 부모 프로세스 데이터 공간, 더미, 창고의 복제품을 가져옵니다.2, 스레드: 프로세스에 비해 스레드는 집행체와 더욱 가깝다는 개념으로 같은 프로세스의 다른 스레드와 데이터를 공유할 수 있지만 자신의 창고 공간을 가지고 독립된 집행 서열을 가진다.둘 다 프로그램의 합병도를 높이고 프로그램의 운영 효율과 응답 시간을 높일 수 있다.루틴과 프로세스는 사용에 있어 각각 장단점이 있다. 루틴의 집행 비용은 적지만 자원 관리와 보호에 불리하다.과정은 정반대다.또한 스레드는 SMP 시스템에서 실행하기에 적합하며 프로세스는 시스템 간에 마이그레이션할 수 있습니다.근본적인 차이점은 다음과 같다. 다중 프로세스로 모든 프로세스가 자신의 주소 공간 (address space) 을 가지고 있고, 라인은 주소 공간을 공유한다.모든 다른 차이는 여기서 나온다. 1. 속도: 라인이 발생하는 속도가 빠르고 라인 간의 통신이 빠르며 전환이 빠르다. 왜냐하면 그들은 같은 주소 공간 안에 있기 때문이다.2. 자원 이용률: 라인의 자원 이용률이 비교적 좋은 것도 그들이 같은 주소 공간에 있기 때문이다.3. 동기화 문제: 스레드가 공공 변수/메모리를 사용할 때 동기화 메커니즘을 사용해야 하는지 아니면 그들이 같은 주소 공간에 있기 때문인지
    2. 프로세스 간 통신
    프로세스 간 통신은 주로 파이프, 시스템 IPC(메시지 대기열, 신호량, 공유 저장소)와 socket이 있다.
              、   、    。
    •                ,        ,                 ,              
    •                 ,                
    •            ,              ,          。
    •             ,                 。
    •                 ,                。
    •                        ,             ,          。
    

    3. 버퍼 넘침
    개념: 버퍼 넘침은 컴퓨터가 버퍼에 작성한 데이터가 버퍼의 용량을 초과하고 데이터가 다른 합법적인 구역에 덮어쓰는 것을 말한다.위해: 프로그램이 붕괴되어 서비스 거부를 초래한다.악성코드 주석을 이동하고 실행합니다. 버퍼가 넘치는 이유는 입력한 데이터를 검사하지 않았기 때문입니다.
    4. 고정 자물쇠
    1 개념: 두 개의 프로세스와 두 개의 프로세스가 동시에 실행되는 과정에서 일부 라인은 일부 자원을 가지고 다른 프로세스가 가진 자원을 기다리고 있다. 자원의 상호 보유와 기다림은 프로세스의 잠금을 초래한다.2 자물쇠가 사라지면 발생하는 네 가지 조건(ACID): 상호 배척성: 한 자원은 한 프로세스가 요청을 가지고 있고 유지할 수 있다. 한 프로세스가 요청 자원으로 인해 막혀서 원래 가지고 있던 자원을 박탈할 수 없다. 프로세스가 기능을 완성하지 못하기 전에 이전에 가지고 있던 자원 루트를 강제로 방출할 수 없다. 몇몇 프로세스 간에 루트가 형성되어 자원을 기다리는 경우 3. 자물쇠가 사라지는 방법을 해결한다.
                            
               : 
        、    、    、     
               : 
        、    、    、        
    

    5. 프로세스 스케줄링 전략
    FCFS(선행 서비스), 우선 순위, 슬라이스 회전, 다중 피드백
    6. 프로세스를 동기화하는 방식
    원자 조작, 신호량, 자전거 자물쇠 튜브, 회합, 분포식 시스템

    좋은 웹페이지 즐겨찾기