운영체제

스레드의 이해스레드란 무엇인가?멀티 프로세스 기반 프로그램둘 이상의 서로 다른 프로그램 실행을 위해서 둘 이상의 프로세스를 생성하는 것은 지극히 당연한 일이다.음악을 듣기 위해 MP3 플레이어를 실행시키고, 문서 작업을 위해 WORD 프로그램을 실행시키면 기본적으로 두 개의 프로세스는 생성된다. 그러나 하나의 프로그램이 두 가지 이상의 일(흐름)을 동시에 처리하기 위해서도 둘 이상의 프로세스가 필요하다.(여기서의 흐름은 코드 실행을 말한다)멀티 프로세스 운영체제 기반 프로그램의 문제점과 새로운 제안두 가지 이상의 일을 동시에 처리하기 위해서, 혹은 둘 이상의 실행 흐름이 필요해서 추가적으로 프로세스를 생성하는 작업은 상당히 부담스럽다. 많은 수의 프로세스 생성은 빈번한 컨텍스트 스위칭으로 이어져 성능에 ..
컴퓨터 구조에 대한 세 번째 이야기CPU가 함수 호출을 어떻게 처리하는지 이해하는 게 주 목표절차적 함수 호출(Procedure Call) 지원 CPU 모델스택 프레임(Stack Frame) 이란?임의의 함수내에서 선언된 메모리 공간함수 호출 과정에서 할당되는 메모리 블록(지역 변수의 선언으로 인해 할당되는 메모리 블록)을 가리켜 스택 프레임이라 한다. 아래 그림을 보면 main 함수 내에 변수 a와 b가 선언되어 있다. 따라서 변수 a와 b가 할당되어 main 함수의 스택 프레임을 구성한다.함수 호출이 완료되면(return 하고 나면) 기존에 선언된 지역변수에 접근이 불가능하다. 주소를 알고 있다 하더라도 말이다. 이는 할당되었던 메모리가 반환되었음을 의미하는 것이다. 따라서 다음과 같이 말할 수 있다..
프로세스의 스케줄링일반 OS와 리얼타임 (Real Time) OS의 차이점이 내용을 스케줄링에서 언급하는 이유?일반 OS와 리얼타일 OS를 결정짓는 요소가 스케줄러이기 때문이다.스케줄러가 어떻게 스케줄링 하냐에 따라서 일반 OS가 되기도 하고 리얼타일 OS가 되기도 한다.리얼타임 OS리얼타임 즉 실시간이라는거다. 실시간이라는 거는 바로바로 응답한다는 소리다. 응답성이 좋다바로바로 응답을 한다는 것은 얼마나 많은 프로그램이 동작을 하고 있더라도 바로바로 실행을 시켜야 한다는 의미다.일반 OS와 리얼타임 OS가 프로세스를 실행 시켰는데 둘 중에서 리얼타임 OS가 시작이 빠르다.하지만 중요한거는 시작이 빠르다고 해서 계속 빠른 거는 아니다.일반 OS가 시작이 느려도 먼저 도착을 할 수 있는거고 리얼타임 OS가..
프로세스간 통신(IPC)2핸들테이블의 이해위 상황에 대해 알아보자프로세스가 메일 슬롯을 생성한다. 그리고 메일 슬롯 커널 오브젝트가 생성이 된다.그러면 메일 슬롯에 접근하기 위한 핸들값과 커널 오브젝트의 주소 정보가 핸들테이블에 등록된다.중요한점은 핸들 테이블은 프로세스별로 독립적이고 각 핸들 테이블은 자신들의 프로세스에게만 의미가 있다.핸들 테이블의 상속핸들 테이블은 부모 프로세스에서 조건에 맞는다면 자식 프로세스로 상속이 된다.단 모든 핸들 정보를 상속하는게 아니라 핸들의 상속여부가 Y로 설정 되어 있는것들만 상속이 가능하다.BOOL CreateProcessA( [in, optional] LPCSTR lpApplicationName, [in, out, optio..
an_jjin
'운영체제' 카테고리의 글 목록 (3 Page)