본문 바로가기

필수 개발지식36

[CS] 쓰레드와 쓰레드 풀 ✅Summary 쓰레드 : 프로세스 내에서 실행되는 실행 단위 쓰레드 풀 : 쓰레드를 미리 생성해두어 작업처리에 사용되는 쓰레드를 제한된 개수만큼 정해놓고 작업 큐에 들어오는 작업들을 하나씩 쓰레드가 맡아 처리하는 기법 ex) 치킨집에서 직원이 필요할때마다 구인하는 것이 아니라 뽑아놓고 일을 분담 쓰레드 풀의 장/단점 장점: 쓰레드를 생성/수거하는데 비용이 들지 않으므로 시스템 자원을 줄일 수 있다. 단점: 쓰레드를 너무 많이 생성해 두었다가 사용하지 않으면 메모리 낭비가 발생 ex) 직원이 많으면 월급만 나가니까 ✅프로세스와 쓰레드의 차이 👉프로세스 : 상가 건물을 컴퓨터라고 한다면 치킨집은 프로세스 : ex) 상가안의 식당들은 배정된 자신의 공간과 돈이 있다. 즉 컴퓨터 안에 각 프로세스가 존재 : .. 2023. 7. 5.
[CS] DB INDEXING ✅DB INDEX란? 테이블에 대한 검색의 속도를 높여주는 자료 구조 색인이고 메모리 영역의 일종의 목차를 생성하는 개념 따라서 이런 목차를 이용하여 검색 범위를 줄여 속도를 높일 수 있다 인덱스란 백과사전과 유사하며, 우리가 흔히 겪어본 Array와도 유사하다 ✅INDEX의 종류? B(Balanced)-tree Index Bitmap Index IOT Index Clustered Index 위와 같이 존재하며 주로 B-tree 구조로 사용된다고 한다. ✅INDEX를 사용하는 이유? 만약 수십만개의 데이터가 들어있는 테이블의 데이터를 조회하는데 조회 기능이 자주 사용되는 서비스라면 성능이 굉장히 떨어지게 될것이다. 왼쪽과 같이 인덱스를 따로 생성하여 해당 데이터만 빠르게 찾을 수 있게 함! ✅INDEX .. 2023. 6. 21.
[CS] 프로세스 생명주기와 프로세스 메모리 ✅프로세스 생명주기 프로세스 생명주기 = 프로세스 상태변화 Process란? 프로그램이 실행되어 메인메모리로 올라오게 되면, 그 프로그램을 프로세스 라고 부른다. 프로그램이 실행되어 프로세스가 되면 컴퓨터 안에 있는 PC, SP, 레지스터 값들, Text와 Data 영역, Stack, Heap 영역 등이 할당되고 사용된다. 프로그램 상태(HDD에서)는 이러한 작업이 일어나지 않지만 프로그램이 메모리에 올라와서 프로세스가 되면 많은 작업이 일어난다. 신규 : 프로세스가 이제 막 메인 메모리에 올라온 상태, 실행 불가, admit 동작을 거친 후 준비 단계로 감 준비: 변수 초기화 등 기초준비 작업이 끝나고 실행할 수 있는 상태, dispatch되면 수행 상태가 된다. 수행: cpu가 실제로 프로세스를 수행.. 2023. 6. 17.
[CS 지식] CPU와 메모리, 스케쥴링, 메모리, 자료구조 개발자라면 기본으로 알아야할 CS 지식을 숙지해야한다. 아래 나오는 정보는 전부 알고있기! [CS 지식] CPU와 메모리, 스케쥴링, 메모리, 자료구조 1. CPU란? 2. 스케쥴링이란? 3. 메모리란? 4.자료구조란? 위의 목차를 클릭하면 해당 글로 자동 이동 합니다. 1. CPU란? Central Processing Unit으로 중앙 처리 장치를 가리킵니다. 컴퓨터 시스템에서 모든 연산과 데이터 처리를 담당하는 핵심적인 하드웨어 구성 요소 입니다. -> 인간의 뇌 와 같다고 생각하면 쉬움 2. 스케쥴링이란? 운영 체제(OS) 에서 사용되는 개념. CPU 자원을 공유하며 여러 프로세스나 작업들이 실행되는 순서와 방법을 관리하는 프로세스를 말합니다. 스케쥴링을 하는 이유는 CPU 활용률을 최대화 시키고,.. 2023. 6. 15.