Free Lines Arrow
본문 바로가기
728x90

Development/OS5

[OS] 가상메모리 가상메모리 메모리운영 기법이다. 용량이 작은 주기억 장치를 큰용량을 가진 것처럼 사용할수 있게 해준다. 특징 소프트웨어적인 방법이다. 보조기억장치를 이용하여 용량을 확보한다. 프로그램을 여러개의 작은 블럭으로 나누어 보조기억장치에 저장한다. 필요한 부분들만 가져온다. 주소의사용 가상주소: - 보조기억 장치의 상의 주소이다. 실기억 주소: - 주기억장치 상의 주소다. 가상메모리 관리 기법 페이징기법: - 프로그램을 동일한 블록으로 나누어 관리한다. 세그먼트기법: - 가변적인 크기의 블록으오 나누어 관리한다. 관리전략 반입전략 요구반입: 프로그램이 요구할때 적재 예상반입: 실행 프로그램에 의해 참조될 것 을 예상하여 적재 배치전략 주기억장치의 어디에 위치 시킬건지 정하는 전략 - 최초, 최적, 최악 적합이 .. 2021. 8. 18.
[OS] Deadlock(교착상태), Starvation(기아상태) Deadlock(교착상태), Starvation(기아상태) 교착상태와 기아상태를 알아봅니다. 해결방법을 알아봅니다. Dead Lock(교착상태) 둘이상의 프로세스가 각각의 프로세스가 점유 하고 있는 자원을 서로 기다릴때 무한대기에 빠지는 상황이다. 아래 그림을 보면 다음과 같다. Process1 이 Resource1 을 점유하고 있다. Process2 가 Resource2 를 점유하고 있다. 여기까지는 괜찮다. Process1 이 Resource2의 자원을 사용하기 위해 기다린다. Process2 가 Resource1의 자원을 사용하기 위해 기다린다. 이렇게 자원 해제가 안되어있고 무한정 기다리고 있는 상태이다. Dead Lock 발생조건 아래 4개의 조건을 만족해야 Dead Lock이 발생한다. 상호배.. 2021. 8. 18.
[OS] Process Synchronization(프로세스 동기화) Process Synchronization(프로세스 동기화) 앞서 멀티 쓰레드와 멀티프로세스를 공부하였습니다. 그럼 멀티쓰레드와 멀티프로세스에서 동기화란 무엇인지 살펴 보겠습니다. 프로세스 동기화 란? 프로세스 사이에서 실행 순서를 지켜 자원의 일관성을 보장하는 것이다. 여러개의 프로세스가 동시적으로 자원에 접근하면 공유 자원을 신뢰 할 수 없다. 공유자원: 공동으로 쓸수 있는 자원을 말한다. Race Condition: 여러 프로세스가 동시에 공유 자원에 접근하여 읽거나 쓰는 상황 Critical Section: 여러 프로세스가 동시에 접근 해서 안되는 공유자원 일부를 말한다. public synchronized void test(){ // 전체가 임계구역이 된다. } public synchronize.. 2021. 8. 18.
[OS] Synchronous(동기), Asynchronous(비동기) OS 에서의 Synchronous, Asynchronous 을 알아보자 Synchronous(동기) 동시 발생[존재]하는 뜻이다. 요청을 했을 경우 결과를 받을때 까지 기다린다. A작업과 B작업이 있을 경우 트랜잭션을 맞춘다는 의미다. 함수가 끝나는 시간과 다음에 수행할 함수의 시간이 같다. 장점 설계가 단순하다. 단점 결과가 올때까지 다른 작업을 할 수 없다. 예제 양복점에서 상의와 하의를 맞춘다고 한다. 상의를 공장에 주문하고 상의를 받을 때까지 기다린다. 상의를 받고나서 하의를 주문한다. 상의를 맞추는데 3일이 걸리고 하의를 맞추는데 1일이 걸린다고 하자. 그럼 상의를 맞추는데 3일 하의를 맞추는데 1일 총 4일이 걸린다. Asynchronous(비동기) 동시에 존재[발생]하지 않는 요청을 했을경우.. 2021. 8. 18.
728x90
반응형