운영체제2

김민정·2022년 5월 15일
0

운영체제

목록 보기
2/5
  1. 프로세스란 무엇인가?
    윈도우 작업관리자에서 확인할 수 있고 실행을 위해 커널에 등록된 작업입니다. 커널에 등록된 이유는 시스템의 성능을 향상시키기 위해서입니다.

  2. 운영체제에서 이야기하는 PCB는 무엇입니까?
    운영체제가 프로세스 관리에 필요한 정보를 저장하는 Process Control Block을 이야기합니다. 프로세스 생성시 같이 생성됩니다.
    3.PCB에는 어떤 정보들이 생성됩니까?
    프로세스 고육식별번호나, 스케쥴링정보, 상태, 메모리 과리정보, 문맥저장영역, 계정정보등을 PCB가 관리합니다.

  3. Process State Transition Diagram을 정리해보세요
    4-1. 작업을 커널에 등록하면 PCB가 할당되고 프로세스가 생성됩니다.
    4-2 해당 프로세스는 가용메모리에 따라 suspended ready(할당 받지 않고 할당 받기를 기다리는 상태) 또는 Reday(메모리를 할당받은 상태)가 됩니다.
    4-3. 할당받은 프로세스는 다시 고민하게 됩니다. 만약 프로세서 외에 다른 모든 자원을 할당 받은 상태인 ready 상태(프로세서 (cpu)할당을 기다리고 있는 상태에서)에서 프로세서를 할당받으면 running 상태로 바뀌게 됩니다.
    4-4. 작업을 수행하다가 3가지로 나뉠 수 있게 될것입니다. 프로세서를 뺏겨서 다시 기다리는 상태거나 I/o 요청을 받아 asleep이 되는 상태 혹은 작업이 완료된 상태로 나눌 수 있을 것입니다. (*asleep에서 running으로 다시 돌아갈 수는 없습니다. ready를 거쳐 다시 프로세스를 할당받아 running 상태가 됩니다.
    4-5. 4-2로 돌아갑시다. 가용메모리에 따라 할당 받지 않고 할당 받기를 기다리는 상태로 갈 수 있다고 이야기했습니다. 메모리를 할당 받지 못하면 어떻게 동작하는지를 살펴봅시다. Memory image를 swap device에 보관한다고 합니다.

  4. 인터럽트란 무엇입니까?
    예상하지 못한 혹은 외부에서 발생한 이벤트를 의미합니다

  5. 인터럽트의 종류에는 어떤 것들이 있습니까?
    i/o, clock, console, program check, machine check, inter-process, system call 인터럽트가 있습니다.
    6-1 cpu clock이란 무엇입니까?
    디지털 장치의 부품들을 움직이게 하는 전기적 신호를 클럭이고 한다고 합니다. cpu clock이란 cpu를 움직이게 하는 전기적 신호입니다.

  6. 인터럽트 처리과정을 설명할 수 있습니까?
    7-1. 인터럽트가 발생하면 커널에 올라간 프로세스가 중단됩니다.
    7-2. 인터럽트의 발생장소와 원인을 파악하고 인터럽트 서비스를 할것인지 결정해서 인터럽트 서비스 루틴을 호출하는 인터럽트 처리과정을 거칩니다.

  7. 스레드란 무엇입니까?
    -자원을 할당받은 프로세스가 자원을 제어하는 것을 가리킵니다.
    -프로세서 활용의 기본단위입니다. (프로세스는 프로세서를 할당받았을 때 동작을 하는데 이렇게 동작하는데 과정에서 스레드가 이용되니깐 프로세서 활용의 기본단위라고 합니다)

  8. 하나의 프로세스안에 여러개의 스레드가 있을 수 있습니까?
    네 여러개의 스레드가 있을 수 있으며(동일한 주소 공간을 공유한다는 의미입니다) 스레드마다 제어하는 내용이 다를 수 있습니다.(여러개의 스레드가 있더라도 할당받은 자원은 하나로 공유한다는 것이 중요합니다)
    10.스레드의 구현이란 무엇입니까?

  9. 사용자 수준의 스레드라는 것은 무엇입니까?
    사용자 수준 스레드란 User thread라고 하는데 사용자 영역의 스레드 라이브러리ㅗ 구현되는 스레드를 이야기하며 posix threads, win32 threads, java thread api등이 있다고 합니다.

  10. 사용자 수준의 스레드 특징은 무엇입니까?
    커널이 스레드 존재를 모르기 때문에 관리 및 생성을 할때 부하가 적습니다. 갖다 붙이기 쉽습니다. 스레드 제어 블록(TCB)에서 여러 스레드를 관리합니다.

0개의 댓글