일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- 우테코
- 월간회고
- 기능별 구조
- 계층별 구조
- Blue-Green
- 카카오 2차 코딩테스트
- 클래스
- 백기선 스터디
- DeleteAll
- jacoco
- 회고
- InnoDB 버퍼 풀
- ci/cd
- useMutation
- 어댑티브 해시 인덱스
- SQL 실행순서
- java
- useQuery
- 프리코스
- mysql
- 멀티쓰레드 프로그래밍
- db
- 주간회고
- N+1
- 도커
- BalancedTree
- 메서드명
- 블로그 병행
- Jenkins
- B+TREE
- Today
- Total
목록운영체제 (2)
Haneul's Blog

먼저 페이징과 세그맨테이션을 알아보기 전에 알아야 할 지식부터 아래에 차근차근 설명해보겠습니다. 프로세스가 실행되기 위해서는 프로그램 코드를 메인 메모리에 저장해두어야 합니다. 하지만 엄청난 용량을 가진 게임이 있어서 메인 메모리가 가진 저장용량을 넘긴다면? 아니면 많은 서비스를 동시에 실행시키고 있어서 메모리에 용량이 부족해진다면? 물론 메인 메모리의 크기가 크다면 상관없지만 메인 메모리는 보조 기억 장치에 비해서 상대적으로 비싼 편입니다. 그래서 일반적인 사용자들은 이 메인 메모리의 비용을 고려하지 않을 수가 없습니다. 그리고 근본적으로 생각해서 현재 실행중인 프로세스의 프로그램 코드를 모두 메인 메모리에 저장해둘 필요가 있을지를 생각해봅시다. 게임을 예로 들어보면 롤을 하려고 하는데 롤이 가진 모든..

동시성 프로그래밍 환경에서 하나의 공유된 자원에 동시 접근을 하게 되면 문제가 발생하게 될 수도 있기 때문에 이에 대한 처리를 해줘야 합니다. 이러한 공유자원을 안전하게 사용하기 위해서는 어떠한 장치가 필요합니다. 바로 '상호배제'를 시켜주는 방법인데, 보편적으로 뮤텍스와 세마포어를 통해서 이를 지키고 있습니다. 먼저 뮤텍스에 대해서 설명해보겠습니다. 뮤텍스 결론부터 간단하게 말씀드리면 하나의 공유 자원에 하나의 프로세스 혹은 스레드만 접근할 수 있게 하고 나머지는 이들이 반납할 때까지 대기하고 있는 기법입니다. 뮤텍스에 관해 자료를 찾아보면서 가장 쉽게 이해가 되었던 예시로 설명을 해보겠습니다. 뮤텍스는 화장실이 하나 있는 식당과 비슷합니다. 이 화장실을 사용하기 위해서는 키가 있어야 하는데, 이를 카..