Computer Science/운영체제

1. IPC 란? 프로세스는 스레드와 다르게 독립적으로 실행된다. 이처럼 독립적인 자원을 가진 프로세스끼리 통신에 사용되는 기법을 IPC 라고 한다. 2. 생산자-소비자 문제(Producer-Consumer Problem) 생산자란 말 그대로 정보를 생산하는 역할, 소비자란 정보를 소비하는 역할이다. 이렇게 들으면 이해가 잘 안가기 때문에 예시를 들어보자면 1. 생산자 : compiler > 어셈블리 코드 생성 // 소비자 : assembler > 어셈블리 코드를 소비하여 기계어 변환 2. 생산자 : 웹 서버 > request시에 웹 페이지 HTML코드 생성 // 소비자 : 브라우저 > HTML코드를 소비해서 화면에 랜더링 함. 이정도가 대표적인 생산자-소비자에 대한 예시가 될 것 같다. 그래서 다시 생..
프로세스가 운영체제로부터 메모리를 할당받게 되면 위와 같은 구조로 생성된다. 각 계층별 데이터를 주소가 낮은 순서대로 코드와 함께 보면서 살펴보자 Text section(.code) - 코스 코드를 실행 가능한 기계어 코드로 변환되어 저장돼 있는 영역. 함수나 명령문이 기계어로 변환되어 저장된다. - CPU는 이 부분에 있는 명령들을 하나씩 가져가서 처리한다. - 흔히 코드영역(Code Segment)라고도 한다. Data section 데이터 섹션은 전역변수와 정적변수(static)가 할당되는 공간이다. 또한 Data section은 초기화 된 변수(.data)와 초기화 되지 않은 변수(.bss) 영역으로 나뉜다. 초기화된 변수는 다시 상수를 보관하는 rodata부분과 초기화 된 전역변수를 저장하는 ...
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..
보글보글소다
'Computer Science/운영체제' 카테고리의 글 목록 (2 Page)