11/18 TIL

taetae·2022년 11월 18일
0

내배캠 TIL

목록 보기
5/48

드디어 미니 프로젝트가 끝났다!

나흘 간(첫 날은 회의 및 S.A 작성을 하느라 시간이 다 흘러서 빼고) 진행한 팀 프로젝트가 드디어 막을 내렸다! 미흡한 팀장 노릇과 부족한 실력으로 고생한 우리 팀원들에게 박수를 보내면서 프로젝트 이야기는 WIL로 써야하기 때문에 마무리.

발표가 끝나고 특강의 시간 : 프로세스, 스레드, 비동기

-프로세스의 정의

  • 메모리에 적재되어 실행되고 있는 프로그램의 인스턴스※
    ※인스턴스
  • 설계된 것을 바탕으로 구현된 구체적인 실체
  • 붕어빵 틀(설계된 것, 클래스)과 붕어빵(인스턴스)이 보통 예시로 많이 사용됨
  • 운영체제로부터 시스템 자원※을 할당받은 작업의 단위
    ※시스템 자원
  • CPU 시간
  • 실행되기 위해 필요한 독립된 메모리 영역

-프로세스의 특징

  • 프로세스는 독립된 메모리를 할당 받는다.
    • 프로세스가 메모리를 관리하기 위해 이 공간들을 어떤 구조로 관리하는데, 이를 프로세스 주소 공간이라고 부른다.
    • 프로세스 주소 공간은 Code, Data, Stack, Heap 으로 구성된다.
      • Code: 코드 자체를 구성하는 메모리 영역(프로그램 명령)
      • Data: 전역변수, 정적변수 등
      • Stack: 지역변수, 함수 매개변수, 리턴 값 (임시 메모리 영역)
      • Heap: 동적 할당 시 사용 (new(), malloc() 등)
  • 기본적으로 프로세스마다 최소 1개의 스레드(메인 스레드)를 갖는다.

-스레드의 정의
프로세스 내에서 프로세스의 자원을 이용하는 여러 실행 흐름의 단위

-스레드의 특징

  • 스레드는 프로세스 내의 Code, Data, Heap 영역은 다른 스레드와 공유하고 Stack 영역을 따로 할당받는다.
  • 프로세스와 해당 프로세스 내의 다른 스레드와 자원과 공간을 공유하면서 사용

사실.. 강의가 매우 어려웠다... 프로세스와 스레드를 겨우 따라가나 했는데 뒤에는 진짜 한 귀로 들어고 한 귀로 나가는 수준... 사실 프로세스와 스레드도 정확히 이해하고 정의 할 수 있는 수준이 아닌데 복습 겸 정리해 봤다.
올려주신 영상과 구글링을 하고 다음에 다시 정리하는 것으로 하겠다.

0개의 댓글