2024/06/03 3

메모리 관리

메모리 계층 구조메모리는 컴퓨터 시스템 여러 곳에 계층적으로 존재한다- CPU 레지스터 -> CPU 캐시 -> 메인 메모리 -> 보조기억장치- 보조기억장치로 갈수록 가격이 저렴해지고 속도가 느려지며 용량이 증가  레지스터L1/L2 cacheL3 cache메인 메모리보조기억장치용도몇 개의 명령과 데이터 저장한 코어에서 실행하는 명령과 데이터 저장멀티 코어들에 의해 공유되는 명령과 데이터 저장실행중인 프로세스의 코드, 데이터와 입출력중인 파일 블록들 저장파일, DB, 메모리에 적재된 코드, 데이터의 영구 저장용량byte 단위로 8~30개정도 존재1KB 미만KB단위MB단위GB단위TB단위타입 SRAMSRAMDRAM마그네틱 필드나 플래시 메모리속도가격 고가고가보통저가휘발성휘발성휘발성휘발성휘발성비휘발성    계층화..

운영체제 2024.06.03

교착 상태(Dead Lock)

교착상태(Dead Lock)란자원을 소유한 채 상대방이 소유한 자원을 기다리면서 무한정 대기하는 상태   식사하는 철학자 문제(Dining Philosophers Problem)1965년 다익스트에 의해 처음으로 문제화되었으며 병렬처리에서의 동기화 이슈와 해결 방법을 설명하고자 학생들에게 낸 시험 문제5명의 철학자가 원탁에서 식사하며 식사 시간은 서로 다를 수 있음자리마다 스파게트 1개와 양 옆에 포크가 존재각 철학자는 옆의 철학자와 대화할 수 없음식사를 하기 위해서는 양 옆의 포크를 모두 확보하여야 함왼쪽 포크를 먼저 들고 다음에 오른쪽 포크를 들어야 함포크가 사용중이면 대기함 이런 상황일때 식사하는데에 어떤 문제가 있을까?5명이 동시에 왼쪽 포크를 들고 이후 오른쪽 포크를 들려고 하면 모두 상대의 포..

운영체제 2024.06.03

스레드 동기화

스레드 동기화의 필요성스레드 동기화(Thread synchronization) : 공유 데이터에 대한 다수 스레드가 동시에 접근할 때 해당 데이터가 훼손되지 않게 하는 기법으로 한 스레드가 공유데이터에 배타적 독점권을 가지도록 순서화공유 데이터(Resource)에 동시에 쓰기를 접근한다면- 공유 데이터가 훼손되는 문제가 발생할 수 있음- 예) 공동계좌에 2명이 완전히 동일한 시각에 10만원을 입금한다면 동시 쓰기가 발생하여 결과가 20만원이아닌 10만원이 될 수 있음  공유 데이터 접근 문제의 해결책스레드 동기화 : 한 스레드가 공유 데이터 사용을 마칠 때 까지 다른 스레드가 해당 데이터에 접근하지 못하도록 제어-> 멀티 스레드의 경쟁 상황은 매우 자주 발생하며, 주로 사용자가 작성한 멀티스레드 프로그램..

운영체제 2024.06.03