운영체제

동기(Synchronous) & 비동기(Asynchronous) 동기와 비동기는 작업 순서에 관점을 둔다. 동기(Synchronous)는 작업 완료 여부에 따라 순차적으로 처리하는 것을 말한다. 프로세스 처리 순서가 A > B > A라고 했을 때 A가 완료된 후 B가 실행되고, B가 완료된 후 A가 순차적으로 처리된다.즉 작업의 순서가 보장되어야 한다. (동시성 - Concurrency) 비동기(Asynchronous)는 작업 완료 여부가 새로운 작업을 실행하는데 영향을 미치지 않는다. 프로세스가 A, B, C순서대로 시작한다고 해도 프로세스가 종료되는 순서는 A, B, C순서대로 종료된다는것을 보장하지 못한다. 즉 작업의 순서가 보장되지 않는다. (병렬성-Parallelism) 블로킹(Blocking)..
1. IPC 란? 프로세스는 스레드와 다르게 독립적으로 실행된다. 이처럼 독립적인 자원을 가진 프로세스끼리 통신에 사용되는 기법을 IPC 라고 한다. 2. 생산자-소비자 문제(Producer-Consumer Problem) 생산자란 말 그대로 정보를 생산하는 역할, 소비자란 정보를 소비하는 역할이다. 이렇게 들으면 이해가 잘 안가기 때문에 예시를 들어보자면 1. 생산자 : compiler > 어셈블리 코드 생성 // 소비자 : assembler > 어셈블리 코드를 소비하여 기계어 변환 2. 생산자 : 웹 서버 > request시에 웹 페이지 HTML코드 생성 // 소비자 : 브라우저 > HTML코드를 소비해서 화면에 랜더링 함. 이정도가 대표적인 생산자-소비자에 대한 예시가 될 것 같다. 그래서 다시 생..
1. 프로세스란? 실행중인 프로그램을 프로세스라고 한다. OS에서의 프로세스란 작업의 단위를 의미한다. 컴퓨터 구조상으로 보면 CPU는 Main Memory에 있는 프로세스만 fetch할 수 있기 때문에 프로그램을 실행하기 위해서는 먼저 Storage(HDD, SSD)에 저장되어 있는 프로그램을 Main memory로 가져와야한다. Fetch하기 전 Main memory에 담긴 프로그램의 실행 정보들을 프로세스라고 한다. 이때 OS는 프로세스를 관리하는 일을 한다 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램을 말한다. 스케줄링의 대상이 되는 작업이라는 용어와 거의 같은 의미로 쓰인다. Wikipedia 1-1. 프로그램? 프로세스? 프로그램이란 - 컴퓨터에서 어떤 작업을 위해 실행할 수 있는 정적..
1. Interrupt란? Interrupt의 사전적 정의 : 방해하다, 중단시키다 사전적 정의 그대로 CPU가 일을 수행하는 도중 하드웨어 장치 등에서 발생한 입출력과 같은 예기치 못한 상황을 CPU에게 알려 먼저 예외상황을 처리하도록 하는 것. 2. Interrupt 사용이유 한번에 한가지 일을 수행할 수 있는 CPU를 잠시 중단시키고 급한 Interrupt를 먼저 처리한 후 이전에 수행하던 일을 다시 수행하여 CPU의 효율을 높이기 위해 사용한다. 입출력 연산의 속도는 CPU의 명령 수행 속도보다 현저히 느리다. 하지만 한번에 한가지 일밖에 수행할 수 없는 CPU를 입출력 연산이 끝날 때까지 기다리며 놀게하면(월급루팡) 효율이 떨어지니 연산 결과가 나오기 전에는 CPU가 할 일을 하다가 Interr..
보글보글소다
'운영체제' 태그의 글 목록 (2 Page)