0616 개발일지

Yesol Lee·2022년 6월 16일
0

개발일지 - 2022

목록 보기
74/187

오늘 한 일

  • 사이트2 대조작업 완료. 관리자 페이지들 대조결과 통합
  • 인프런 개발자 기본기 강의 프로세스와 스레드, 병렬성과 동시성 듣고 정리

프로세스와 스레드

process

메모리를 할당받아 실행되는 프로그램

프로그램 할당 메모리 영역 4가지

  • code: 개발자가 작성한 코드 자체
  • data: 정적 데이터
  • stack: 함수 호출 관련 정보. 컴파일 타임에 정해짐
  • heap: 런타임 동적 메모리
  • stack overflow : 컴파일 타임에 stack이 프로세스에 할당되는데, 런타임 실행 때 재귀적으로 무한히 함수를 호출하는 등 stack 메모리를 초과하는 시도를 했을 때 발생하는 에러

thread

  • 특정 시점에 프로세스 안에서 실제 코드 실행하는 단위
  • cpu 이용의 기본 단위로 1개의 스레드 작업은 1개의 cpu코어에 할당
  • 프로세스가 할당받은 메모리에 자원 저장
  • 각 스레드는 별도의 stack 공간을 할당받고, 나머지 code, data, heap 메모리는 하나의 프로세스 내 모든 스레드가 공유함

병렬성과 동시성

동시성 (Concurrency)

  • cpu가 한번에 주어진 task들을 빠르게 처리하여 사용자로 하여금 여러 프로세스 명령들이 '동시에' 처리된다고 느끼게 하는 현상
  • 컨텍스트 스위칭 (context switching) : cpu가 작업 프로세스 바꾸는 일

컴퓨터 수행 작업 종류 2가지: CPU Bound vs I/O Bound

  • CPU Bound Task : 작업 실행 시 I/O보다 CPU를 더 많이 쓰는 작업 (ex. 머신러닝 등 연산이 복잡한 로직)
  • I/O Bound Task : 작업 실행 시 CPU보다 I/O를 더 많이 쓰는 작업 (DB 데이터 주고받는 로직 등 일반적인 웹, was 서버)

병렬성 (Parallelism)

  • 실제로 여러 개의 CPU코어가 여러 개의 작업을 동시에 처리
  • 동시성은 하나의 작업을 빠르게 처리하고 다음으로 넘어가서 동시에 진행하는 것처럼 느끼게 하는 거라면, 병렬성은 실제로 여러 명령을 동시에 실행

용어정리

  • 에코플레이션 (Ecoflation) : Ecology (환경) + inflation의 합성어로 가뭄이나 폭염, 태풍 등의 자연재해로 농산물 재배에 차질을 빚어 물가를 끌어올리는 현상
  • 이(E)플레이션 : Energy발 물가상승
  • 스크루(Screw)플레이션: 물가는 뛰는데 임금 등 소득은 늘지않아 가계 살림살이가 어려워지는 현상
  • 스태그플레이션 : 경기는 침체되고 물가는 뛰는 상황
profile
문서화를 좋아하는 개발자

0개의 댓글