Post

운영체제_01


운영체제 글 추가 예정 (전반적인 흐름 정리하기)

  • 내용이 너무 깊게 들어가지 않도록하기





크롬, 엣지(브라우저) 실행 했을 때 일어나는 일


  • 우리가 흔히 바탕화면에 있는 크롬 아이콘은 대부분 바로가기 일 것.

  • 바로가기가 가리키는 실제 프로그램의 위치로 이동해 exe파일을 실행한다.

  • 그럼 운영체제가 하드디스크에 있는 크롬 프로그램을 실행한다.

  • 크롬이 만들어진 코드를 메모리에 올려 프로세스로 만들고
    사용자 메모리 공간에 배치하고, 크롬 프로세스를 제어할 때 필요한 모든 정보들을 모아

PCB(Process Control Block)를 만들어 ‘커널 메모리 공간’에 배치한다

  • 크롬이 가장 최근에 실행되어서 PCB의 우선순위가 주어짐.
    운영체제에 있는 프로세스 스케줄러가 PCB의 우선순쉬에 따라 대기큐에 배치

  • 크롬 이전에 실행중인 프로세스의 ‘시간 할당량’이 끝나면 CPU가 크롬 프로세르를 실행한다.

  • CPU가 이 크롬 프로세스를 실행하면 화면에 크롬 브라우저가 나타나게 됨.




프로그램 exe 파일이 만들어지는 과정


  1. 전처리기
    • #include + #define 와 같은 코드를 실행하는데에 있어 필요한 것, 전처리지시자를 먼저 작업
  2. 컴파일러
    • 컴파일을 통해 컴퓨터가 읽을 수 있는 ‘어셈블리어’ 라는 언어로 바꿔주는 단계
  3. 어셈블러
    • 컴파일을 통해 어셈블리어로 된 내용을 어셈블러가 CPU가 처리할 수 있도록 0과 1로 바꿈.
  4. 링커
    • 참조해야할 라이브러리를 모아서 묶어 하나의 실행파일로 만들어줌.



PCB (프로세스 상태 정보를 저장하는 구조체)

  • 운영체제는 PCB에 담긴 프로세스 정보를 이용해 프로세스를 관리하고 제어함. 프로세스가 생성될 때 마다 PCB가 생성되어 메인 메모리에 유지되고, 프로세스가 끝나면 제거. (유저가 접근 못함)

  • 프로세스 상태관리 및 컨텍스트 스위칭을 위해 필요함


스케줄링

  • 운영체제가 CPU의 자원을 어떤 프로세스에게 할당해 줄 지 일정을 짜는것.
  • CPU가 자원을 효율적으로 사용할 수 있도록 결정할 수 있는지가 결정된다.
  • 매우매우 중요함!!!
This post is licensed under CC BY 4.0 by the author.