본문 바로가기

운영체제12

[운영체제] 세마포어 (Semaphore)와 뮤텍스 (Mutex) gyoogle/tech-interview-for-developer 👶🏻 신입 개발자 전공 지식 & 기술 면접 백과사전 📖. Contribute to gyoogle/tech-interview-for-developer development by creating an account on GitHub. github.com 세마포어 (Semaphore) 멀티 프로그래밍 환경에서 공유 자원에 대한 접근을 제한하는 방법 세마포어 연산 P, V P : 임계영역 들어가기 전에 S=0이면 1이 될 때까지 기다리고, S가 1이 되면 0으로 만들어서 다른 프로세스가 진입하지 못하도록 한다. V : 임계영역에서 빠져나올 때 S를 1로 원위치 시켜서 다른 프로세스의 진입을 허용한다. S값을 몇으로 설정하느냐에 따라서 진입 가능한.. 2020. 11. 6.
[운영체제] 가상 메모리와 페이지 교체 알고리즘 가상 메모리 디스크 (보조 기억 장치)를 가상의 논리적 메모리 공간으로 이용하는 방법이다. 다중 프로그래밍 환경에서 프로세스를 모두 메모리에 적재하기엔 물리적 메모리의 크기가 제한적이여서 나온 방법이다. 대부분 프로그램은 부분적인 적재만으로도 프로그램을 실행시킬 수 있는데 이러한 특징을 이용한 기법이 가상 메모리다. 즉, 프로세스 실행에 꼭 필요한 부분만 메인 메모리에 적재하고 나머지는 디스크에 저장한다. 요구 페이징 기법 가장 일반적인 가상 메모리 체계 프로그램을 실행 시 일부 페이지들만 메모리에 적재하고 요구하는 페이지를 메모리에 교체해가며 사용한다. 1. 요구 페이징 장점 다중 프로그래밍을 더 활성화시키고 접근하지 않은 페이지는 로드하지 않으므로 메모리를 절약할 수 있다. 프로그램 시작 시 로딩 지.. 2020. 11. 4.
[운영체제] 메모리 관리 기법 메모리 관리 기법 다중 프로그래밍 시스템에서는 메모리의 사용자 영역을 여러 프로세스가 상주할 수 있도록 세분화해야된다. 이러한 세분화 작업을 메모리 관리라고 한다. 메모리 할당 정책 정책 설명 반입 정책 메인 메모리에 적재할 프로세스의 반입시기를 결정하는 방법 배치 정책 프로세스를 메인 메모리 어디에 저장할 것인지 결정하는 방법 - 최초 적합 : 사용가능 공간 중 첫 번째 공간에 할당 - 최적 적합 : 사용가능 공간 중 가장 작은 크기의 공간에 할당 - 최악 적합 : 사용가능 공간 중 가장 큰 크기의 공간에 할당 대체 정책 메인 메모리의 어떤 프로세스를 제거할 것인가를 결정하는 기법 1. 연속 메모리 할당 방식 프로그램을 메모리 공간 한 곳에 연속적으로 할당하는 방법 MMU를 이용해서 프로세스의 논리 메.. 2020. 10. 1.
[운영체제] CPU 스케줄링 CPU 스케줄링 다중 프로그래밍에서 CPU의 효율성을 높이고 작업 응답 시간을 최소화하기 위하여 적절하게 프로세스들에게 CPU를 할당하는 기법 1. 선점형 스케줄링 (Preemptive Scheduling) 한 프로세스가 CPU를 할당 받았을 때, 우선순위가 높은 다른 프로세스가 CPU를 강제로 빼앗을 수 있는 스케줄링 종류 설명 라운드 로빈 (Round-Robin) - 모든 프로세스들은 같은 크기의 CPU 시간을 할당받는다. - 시간 내에 작업을 처리하지 못하면 준비 큐 리스트의 맨 뒤로 보내진다. SRT (Shortest Remaining Time First) - 준비 큐에 남은 처리 시간이 더 짧은 프로세스가 있다면 CPU를 선점받을 수 있다. 다단계 큐 (Multi-level Queue) - 여러.. 2020. 9. 24.