프로세스 vs 스레드 : IPC, 주소 공간, 멀티 프로세스, 멀티 스레드

멀티 프로세스 vs 멀티 스레드

프로젝트를 진행 하다가 처리 시간이 긴 프로세스를 만난 적이 있었습니다. 그때 바로 생각난 개념이 “멀티 프로세싱” 이였습니다. 그런데 공부를 하다 보니 “스레드”라는 개념이 튀어나옵니다. “프로세스 vs 스레드” 끝인가? 아닙니다… 동시성, 병렬성, 뮤텍스…

파이썬 zip 함수 : 반복자 쌍들을 가지고 노는 함수

파이썬 zip() 함수

Python에서 zip() 함수는 여러 iterable 항목(예: 리스트, 튜플 또는 문자열)을 튜플의 반복자로 결합하는 데 사용됩니다. zip 함수는 이런 기능을 이용해서 병렬 반복이나 데이터 쌍과 같은 작업에 유용하게 사용 할 수 있습니다

멀티 태스킹 : 스케줄러, Dispatch, Context Switching, PCB

멀티 태스킹

“Context Switching”에서 Context는 프로세스의 상태를 의미합니다. 기본적으로 Context Switching은 프로세스 상태를 바꾸는 것을 말하며,다시 말하면 프로세스를 일시 중지하고 다시 시작할 수 있도록 프로세스/스레드 상태를…

프로세스 생명주기 : 대기열, 스케줄링, 가상 메모리 스와핑

프로세스 생애주기

어찌보면 당연한거지만 프로세스에도 생애주기가 있었습니다. 사람도 세포도, 여러 대사 작용들도 모두 cycle이 있습니다. SDLC 개념도 처음 들으면서 재밌다 생각했는데, “프로세스 생명주기”도 있다는 걸 깨닫지 못한 게 오히려 신기한 건가 싶기도 합니다.

CPU : ALU, CU, 레지스터, 캐시 메모리, 버스, 클럭, 코어, TDP

cpu 성능, cpu 구성 요소, alu, cu, 버스, 캐시 메모리

작업 관리자를 들어가면 성능 탭에 CPU 성능에 대한 모니터링 데이터를 볼 수 있는데요.여기에 속도, 코어, 논리 프로세서, 캐시 같은 내용이 있습니다. 오늘은 CPU 란 어떻게 구성이 되어있고, 어떤 과정을 통해서 연산을 하는지…

재귀 함수 : 볼수록 빠져는 게 꼭 재귀같네

파이썬으로 이해하는 재귀 함수

여러 알고리즘을 공부하게 되면서 “재귀 함수”가 프로그래밍의 기초 개념을 위해 초반에만 살짝 지나가는 개념이 아니라는 것을 깨닫게 되었습니다. “재귀 함수”는 문제를 해결하기 위해 문제를 더 작은 형태로 나누어 직접 또는 간접적으로 정의 내에서 자신을 호출하는 함수입니다.

이분 탐색 : 파이썬으로 이해하는 이분 탐색 (이진 탐색)

파이썬으로 이해하는 이진탐색

브루트 포스의 단점이 방대한 input에서는 성능이 떨어진다는 점이였습니다. 이를 해결할 수 있는 게 “이분 탐색” 입니다. 말 그대로 반으로 나누어 탐색하는 거죠. 어떻게 반으로 나누어서 탐색하는 데 답을 찾을 수 있을까요?