본문 바로가기
Computer Science/OS (운영체제)

[인프런 수강일기] 01. 운영체제 - 프로세스란 무엇인가

by happy coding! 2023. 4. 30.
반응형

인프런 수강일기란?

해당 글은 인프런에서 제공하는 후원 강의 및 할인 쿠폰으로 결제한 강의들을 수강하고 후기를 작성한 것입니다

오늘은 인프런에서 기출로 대비하는 개발자 전공 면접 [CS 완전 정복] 강의를 수강하였습니다.
강의는 총 6개의 섹션(합격률 높이는 개발자 면접 TIP, 자료구조, 운영체제, 데이터베이스, 네트워크, 기출로 보는 모의 면접)으로 구성되어 있고, 오늘은 운영체제 섹션을 수강하였습니다.

 

운영체제 (OS, Operation System)

실행파일(program)memory에 적재되어 CPU를 할당받아 실행되는 것을 프로세스라고 한다.

운영체제를 관통하는 핵심적인 단어 하나를 뽑는다면 그건 바로 process이다.

운영체제가 작동하는 다양한 원리들이 바로 process를 위해 존재한다.

 

process란 무엇인가

  • 프로세스(process)란 실행 중인 프로그램(program in execution)을 뜻한다.
  • 즉 실행파일 형태로 존재하던 program이 memory에 적재되어 CPU에 의해 실행(연산)되는 것을 process 라고 한다.
  • 프로그램은 단순히 명령어 리스트를 포함하는 파일이다. 

Memory에 적재

  • memory는 CPU가 직접 접근할 수 있는 컴퓨터 내부의 기억 장치
  • program이 CPU에서 실행되려면 해당 내용이 memory에 적재된 상태여야만 함
  • 프로세스에 할당되는 메모리 공간은 Code, Data, Stack, Heap 4개의 영역으로 이루어져 있으며 각 프로세스마다 독립적으로 할당을 받는다.
Code 영역 실행한 프로그램의 코드가 저장되는 메모리 영역
Data 영역 프로그램의 전역 변수와 static 변수가 저장되는 메모리 영역
Heap 영역 프로그래머가 직접 공간을 할당(malloc) / 해제(free)하는 메모리 영역
Stack 영역 함수 호출 시 생성되는 지역 변수와 매개 변수가 저장되는 임시 메모리 영역 

 

CPU 연산

  • 프로그램의 코드를 토대로 CPU가 실제로 연산을 해야만 프로그램이 실행된다고 볼 수 있음
  • 어떤 코드를 읽어야 하는가를 정하는 것은 CPU 내부에 있는 PC(Program counter) register에 저장되어 있음
  • PC register에는 다음에 실행될 코드(명령어)의 주소값이 저장되어 있음
  • 메모리에 적재되어 있는 프로세스 code 영역의 명령어 중 다음번 연산에서 읽어야할 명령어의 주소값을 PC register가 순차적으로 가리키게 되고 해당 명령어를 읽어와서 CPU가 연산을 하게 되면 프로세스가 실행되는 것이다. 

 

이상 오늘의 인프런 수강일기 였습니다.

 

참고 자료

인프런 기출로 대비하는 개발자 전공 면접 [CS 완전 정복] (https://www.inflearn.com/course/%EA%B0%9C%EB%B0%9C%EC%9E%90-%EC%A0%84%EA%B3%B5%EB%A9%B4%EC%A0%91-cs-%EC%99%84%EC%A0%84%EC%A0%95%EB%B3%B5)

반응형

댓글