운영체제_01
운영체제 글 추가 예정 (전반적인 흐름 정리하기)
크롬, 엣지(브라우저) 실행 했을 때 일어나는 일
우리가 흔히 바탕화면에 있는 크롬 아이콘은 대부분 바로가기 일 것.
바로가기가 가리키는 실제 프로그램의 위치로 이동해 exe파일을 실행한다.
그럼 운영체제가 하드디스크에 있는 크롬 프로그램을 실행한다.
크롬이 만들어진 코드를 메모리에 올려 프로세스로 만들고
사용자 메모리 공간에 배치하고, 크롬 프로세스를 제어할 때 필요한 모든 정보들을 모아
PCB(Process Control Block)를 만들어 ‘커널 메모리 공간’에 배치한다
크롬이 가장 최근에 실행되어서 PCB의 우선순위가 주어짐.
운영체제에 있는 프로세스 스케줄러가 PCB의 우선순쉬에 따라 대기큐에 배치크롬 이전에 실행중인 프로세스의 ‘시간 할당량’이 끝나면 CPU가 크롬 프로세르를 실행한다.
CPU가 이 크롬 프로세스를 실행하면 화면에 크롬 브라우저가 나타나게 됨.
프로그램 exe 파일이 만들어지는 과정
- 전처리기
- #include + #define 와 같은 코드를 실행하는데에 있어 필요한 것, 전처리지시자를 먼저 작업
- 컴파일러
- 컴파일을 통해 컴퓨터가 읽을 수 있는 ‘어셈블리어’ 라는 언어로 바꿔주는 단계
- 어셈블러
- 컴파일을 통해 어셈블리어로 된 내용을 어셈블러가 CPU가 처리할 수 있도록 0과 1로 바꿈.
- 링커
- 참조해야할 라이브러리를 모아서 묶어 하나의 실행파일로 만들어줌.
PCB (프로세스 상태 정보를 저장하는 구조체)
운영체제는 PCB에 담긴 프로세스 정보를 이용해 프로세스를 관리하고 제어함. 프로세스가 생성될 때 마다 PCB가 생성되어 메인 메모리에 유지되고, 프로세스가 끝나면 제거. (유저가 접근 못함)
프로세스 상태관리 및 컨텍스트 스위칭을 위해 필요함
스케줄링
- 운영체제가 CPU의 자원을 어떤 프로세스에게 할당해 줄 지 일정을 짜는것.
- CPU가 자원을 효율적으로 사용할 수 있도록 결정할 수 있는지가 결정된다.
- 매우매우 중요함!!!
This post is licensed under CC BY 4.0 by the author.