운영체제 5

페이징 메모리 관리

페이징 기법의 개념페이지와 프레임프로세스의 주소 공간(논리주소)을 0번지부터 동일한 크기의 페이지로 나눔 -> 페이지(page)물리 메모리 역시 0번지부터 페이지와 동일한 크기대로 나눔 -> 프레임(frame)- 페이지와 프레임에 번호 할당- 페이지의 크기는 주로 4KB이며 운영체제마다 다르게 설정 가능(2^n으로 설정 가능, 4KB, 8KB, 16KB.....)- 페이지 테이블 : 각 페이지에 대해 페이지 번호와 프레임 번호를 1:1매칭하여 저장하는 테이블  페이징 기법프로세스의 주소공간(논리주소)와 물리메모리(물리주소)를 페이지, 프레임 단위로 분할하고 프로세스의 각 페이지를 물리 메모리의 프레임에 분산 할당하여 관리하는 기법- 프로세스의 주소 공간(논리주소) : 0부터 시작하여 연속적인 주소 공간-..

운영체제 2024.06.04

메모리 관리

메모리 계층 구조메모리는 컴퓨터 시스템 여러 곳에 계층적으로 존재한다- 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

CPU 스케줄링

CPU 스케줄링이 필요한 이유CPU, 디스크, 프린터, 파일, 데이터베이스 등과 같은 자원(Resource)에 대한 스레드들의 경쟁속에서 스레드 하나를 선택해야 함.  컴퓨터 시스템 내의 다양한 스케줄링작업(job) 스케줄링- batch 시스템에서 대기중인 작업(job) 중 메모리에 적재할 작업을 선택하는 스케줄링CPU 스케줄링- 프로세스/스레드 중 하나를 선택하여 CPU를 할당하는 스케줄링이며 오늘날 운영체제의 스케줄 단위는 스레드디스크 스케줄링- 디스크 장치 내에서 입출력 요청 중 하나를 선택하는 스케줄링프린터 스케줄링- 프린팅 작업 중 하나를 선택하여 프린터에 할당하는 스케줄링  다중프로그래밍의 도입 목적과 다중프로그래밍과 함께 도입된 스케줄링 다중프로그래밍 도입 목적 -> CPU 유휴시간을 줄여 ..

운영체제 2024.06.02