본문 바로가기

🔥 🔥

[강의] 그림으로 쉽게 배우는 운영체제 - 1. 프로세스와 쓰레드

반응형

1. 프로그램과 프로세스

  • 프로그램
    • 하드디스크 등과 같은 저장장치에 저장된 명령문의 집합체, 앱,.exe…
  • 프로세스
    • 실행중인 프로그램, 하드디스크에 저장된 프로그램이 메모리에 올라갔을 떄 실행중인 프로그램

2. 멀티프로그래밍과 멀티프로세싱

  • 유닛프로그래밍
    • 메모리에 하나의 프로세스가 올라온 것
  • 멀티 프로그래밍
    • 메모리에 여러개의 프로세스가 올라온 것
  • 멀티 프로세싱
    • 유닛 프로그래밍과 멀티 프로그래밍 > 메모리관점
    • 멀티프로세싱은 cpu관점
    • cpu가 여러 개의 프로세스를 처리하는 것
  • 스와핑
    • 메모리에 있는 데이터를 다른 저장장치로 보내고 다른 저장장치에서 메모리에 올리는 것

3. PCB 

  • 프로세스가 만들어지면 운영체제는 해당 프로세스의 정보를 가지고 pcb를 만든다
  • 연결리스트 자료구조로 저장
  • 포인터
    • 부모와 자식 프로세스에 대한 포인터와 할당된 자원, 프로세스한 상태에서 다른 상태로 전환될 떄 저장하는 포인터
  • 프로세스 상태
    • 현재 프로세스의 생성, 준비, 실행, 대기, 완료 나타냄
  • 프로세스 아이디
    • 프로세스를 식별하기 위한 숫자
  • 프로세스 카운터
    • 다음에 실행될 명령어의 주소를 포함하는 프로그램 카운터 저장
  • 레지스터 정보
    • 프로세스가 실행될 때 사용했던 레지스터 값들 저장
  • 메모리 관련 정보
    • 프로세스가 메모리에 있는 위치정보
  • cpu스케줄링 정보
    • cpu 스케줄링에 필요한 우선순위, 취종실행시간, cpu 점유시간 저장

4. 프로세스 상태 

  • 생성, 준비, 실행, 대기, 완료

5. 컨텍스트 스위칭 

  • 프로세스를 실행하는 중에 다른 프로세스를 실행하기위해 실행중인 프로세스의 상태를 저장하고 다른 프로세스의 상태값으로 교체하는 작업
  • 컨텍스트 스위칭이 발생하는 이유
    • cpu 점유시간이 다 되거나 입출력 요청이 있거나 다른 종류의 인터럽트가 있을때

6. 쓰레드 

  • 코드, 데이터, 힙 영역이 복사 , 스택은 각각 가지고 있음
  • 크롬
    • 탭생성마다 프로세스가 생성
  • 파이어폭스
    • 4개까지만 프로세스가 생성되고 추가적인 탭은 쓰레드를 추가하는 방식
  • 안정성
    • 프로세스 : 서로 독립적이기 떄문에 하나의 프로세스가 문제가 있더라도 다른 프로세스가 영향을 받지 않음
    • 쓰레드 : 하나의 프로세스 내에 존재하기 때문에 해당 프로세스 문제가 생기면 그 안의 모든 쓰레드에 문데가 생김
  • 속도, 자원
    • 프로세스 : 각각 프로세스는 서로 고유한 자원을 가지고 있음, 통신을 위해선 ipc를 이용해야해서 오버헤드가 크고 속도가 느림
    • 쓰레드 : 한 프로세스 내에서 스택 제외 모두 공유하기 때문에 오버헤드가 작음

 


 

해당 글은 [인프런 - 그림으로 쉽게 배우는 운영체제] 강의를 듣고 정리한 글 입니다.

https://www.inflearn.com/course/%EB%B9%84%EC%A0%84%EA%B3%B5%EC%9E%90-%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C

 

그림으로 쉽게 배우는 운영체제 | 감자 - 인프런

감자 | 이 강의를 통해 모든 개발자들이 필수로 알아야하는 운영체제의 원리를 알 수 있습니다., 개발자의 필수 지식 운영체제를 배워서뿌리 깊은 나무가 되어 봐요 🌳 강의 주제 📖 [임베딩 영

www.inflearn.com