‡Computer Science ‡/º 운영체제 4

[운영체제] 동기화(Process Synchronization)

동기화(Process Synchronization)배경💡Producer-Consumer 문제 (Race Condition)count = 0 이라는 변수가 있을 때, producer는 count++을 시키고, consumer은 count--를 시킨다고 하자. 두 사람은 공유하는 data를 동시에 변경하려고 하니까 엉뚱한 결과가 나올 수 있다. 두 명의 사람이 칠판에 그림을 그리고 있다고 할 때 순서가 있게 해야지 동시에 그림을 그리려고 하면 칠판은 엉망이 될 것이다.  둘 다 공유하는 data를 읽기만 하면서 두 프로세스가 실행되면 문제가 되지 않는다. 하지만 동시에 변경하려고 할 때 이 문제가 발생한다.  우리는 멀티 스레드 환경을 보통 사용하므로 프로세스 동기화를 잘 시켜주어야 한다.  ☝️Criti..

[운영체제] 가상 메모리와 페이징 교체 알고리즘

Virtual Memory PCB, Context Switch 등등의 메모리 관리 기법에서는 메인 메모리에 프로그램이 전체적으로 load 되는 것을 전제로 한다. 하지만 사실은 부분적으로 load 되어도 프로세스로 실행이 된다는 것!  고급 자원인 CPU 이용률을 올리기 위해서는 많은 프로그램을 Main Memory에 올리는 것이 중요하다.  가상 메모리의 장점CPU 이용률과 처리량을 향상 시킴loading과 swapping하는 I/O 시간을 줄임모든 프로그램이 모두 load/swap 될 필요 없으니까! Response time 또한 줄일 수 있음 프로그램 A,B,C가 있다고 할 때 일부만 올린다. 3개의 프로그램이 모두 다 올라왔다고 생각하겠지 아니다. 그래서 가상 메모리라고 부른다. Demand Pa..

[운영체제] PCB와 Context Switching

🔷PCB와 Context Switching의 배경 앞서 인터럽트가 왜 사용되는 지에 대해 기술했는 데, 내용은 대충 아래와 같다.  고급 인력인 CPU가 일을 하지 않고 계속해서 입출력을 하는 시간을 소비하게 된다면 인력 낭비이므로 CPU가 입출력 연산을 기다리는 동안 CPU에게 인터럽트를 걸어 다른 할 일을 하도록 하는 것이다.  더 자세한 내용은 블로그 링크로 첨부한다. https://xoxoxoxox.tistory.com/280  [운영체제] 인터럽트와 시스템 콜인터럽트와 시스템 콜운영체제는 interrupt driven이고, 운영체제에서 사용하는 interrupt를 system call이라고 한다. 따라서 운영체제의 동작 방식을 이해하기 위해선 interrupt와 system call에 대해 필..

[운영체제] 인터럽트와 시스템 콜

인터럽트와 시스템 콜운영체제는 interrupt driven이고, 운영체제에서 사용하는 interrupt를 system call이라고 한다. 따라서 운영체제의 동작 방식을 이해하기 위해선 interrupt와 system call에 대해 필히 이해하고 있어야 한다. 이 글에서는 인터럽트에 대해 먼저 알아보고, system call에 대해 기술하도록 하겠다. 인터럽트 (Interrupt)🔷인터럽트란?CPU가 프로그램을 실행하고 있을 때, 입출력 하드웨어 등의 장치나 예외상황이 발생하여 처리가 필요할 경우에 마이크로프로세서에게 알려 처리할 수 있도록 하는 것을 말한다. 🔷 인터럽트를 왜 쓰는지..밑에 출처에 남긴 블로그에서 운영체제가 인터럽트를 사용하는 이유에 대한 엄청난 비유를 찾았다.CPU를 고급 인력..