OS

메모리 관리컴퓨터 내의 한정 된 메모리를 극한으로 활용해야 하며 가상메모리, 메모리 할당 기법 등이 발달함. 가상 메모리가상 메모리는 메모리 관리 기법의 하나로 컴퓨터가 실제로 이용가능한 메모리 자원을 추상화하여 이를 사용하는 사용자들에게 매이 큰 메모리로 보이게 만드는 것. 이때 가상적으로 주어진 주소를 가상 주소라고 하며, 실제 메모리상에 있는 주소를 실제 주소(physical address)라고 함. 가상 주소는 메모리관리 장치(MMU)에 의해 실제 주소로 변환되며, 이덕 분에 사용자는 실제 주소를 의식할 필요 없이 프로그램 구축이 가능해짐.MMU프로세스는 독립적인 메모리 공간을 가져야 되고, 자신의 공간만 접근해야함따라서 한 프로세스에게 합법적인 주소 영역을 설정하고, 잘못된 접근이 오면 trap..
CPU 스케줄링CPU 스케줄러는 CPU 스케줄링에 따라 프로세스에서 해야 하는 일을 스레드 단위로 CPU에 할당함. 프로그램이 실행될 때는 CPU 스케줄링 알고리즘이 어떤 프로그램에 CPU를 줄 것인지 결정함. 이때 비선점형 알고리즘과 선점형 알고리즘으로 나뉘며 CPU를 할당함. 비선점형 방식비선점형 방식은 프로세스가 스스로 CPU 소유권을 포기하는 방식이며, 강제로 프로세스를 중지하지 않음. 따라서 context switching으로 인한 부하가 적음 FCFS(First Come First Served)큐에 도착한 순서대로 CPU를 할당함실행 시간이 짧은게 뒤로 가면 평균 대기 시간이 길어짐SJF(Shorest Job First)수행시간이 제일 짧다고 판단되는 작업을 먼저 수행함FCFS보다 평균 대기 ..
프로세스 동기화임계 영역(Critical Section)에 진입하는 프로세스를 관리하기 위해 Mutex, Semaphore방법을 사용하여 접근을 제어한다. 이때 lock을 사용하며 획득과 방출을 이용해 다중 프로세스 접근을 제어함. Semaphore(세마포어)소프트웨어상에서 Critical Section 문제를 해결하기 위한 동기화 도구간단한 정수 값과 두 가지 함수 wait(P함수) signal(V함수)로 공유 자원에 대한 접근을 처리함wait()는 자신의 차례가 올 때 까지 기다리는 함수이며, siganl()은 다음 프로세스로 순서를 넘겨주는 함수이다.OS 는 Counting/Binary 세마포를 구분한다카운팅 세마포가용한 개수를 가진 자원 에 대한 접근 제어용으로 사용되며, 세마포는 그 가용한 자원..
멀티 스레드>> 하나의 응용 프로그램에서 여러 스레드를 구성해 각 스레드가 하나의 작업을 처리하는 것 스레드들이 공유 메모리를 통해 다수의 작업을 동시에 처리하도록 진행함. 스레드는 프로세스와 달리 코드,데이터,힙은 스레드끼리 서로 공유하며, 그 외의 영역은 각각 생성됨(ex. 스택) 멀티스레딩은 프로세스 내 작업을 여러개의 스레드, 멀티스레드로 처리하는 기법이며 스레드끼리 서로 자원을 공유하기 때문에 효율성이 높음. 한 스레드가 중단(blocked) 된 상태여도 다른 스레드는 실행(running) 상태 일 수 있기 때문에 중단되지 않은 빠른 처리가 가능하며, 동시성에도 큰 장점이 있습니다. 더보기동시성 : 서로 독립적인 작업들을 작은 단위로 나누고 동시에 실행되는 것처럼 보여주는 것Thread-safe..
Shine_sunho
'OS' 태그의 글 목록