목록CS/OS (3)
in.add()

멀티 스레드란 하나의 프로세스를 다수의 실행 단위로 구분하여 자원을 공유하고 자원의 생성과 관리의 중복성을 최소화하여 수행 능력을 향상시키는 것을 멀티스레딩이라고 한다. 하나의 프로그램에 동시에 여러개의 일을 수행할 수 있도록 해주는 것이다. 멀티 스레딩의 장점 프로세스 생성은 많은 시간과 자원을 소비한다. 이러한 단점을 최소화 시킨 일종의 경량화된 프로세스(=스레드)를 만들게 된 것이다. 스레드 간의 통신이 필요한 경우에도 별도의 자원을 이용하는 것이 아니라 전역 변수의 공간 또는 동적으로 할당된 공간인 Heap 영역을 이용하여 데이터를 주고받을 수 있다. 그렇기 때문에 프로세스 간 통신 방법에 비해 스레드 간의 통신 방법이 훨씬 간단하다. 스레드의 context switch 는 프로세스 context..

프로그램, 프로세스, 스레드 프로그램 : 파일이 저장 장치에 저장되어 있지만 메모리에는 올라가 있지 않은 정적인 상태를 말한다. 프로세스 : 운영체제로부터 자원을 할당받은 작업의 단위. 스레드 : 프로세스가 할당받은 자원을 이용하는 실행 흐름의 단위. 프로그램 → 프로세스 프로그램이라는 단어는 아직 실행되지 않은 파일 그 자체를 가리키는 말이다. 프로그램을 실행하는 순간 해당 파일은 컴퓨터 메모리에 올라가게 되고, 이 상태를 동적인 상태라고 하며 이 상태의 프로그램을 프로세스라고 한다. 따라서 위키피디아에서는 프로세스에 대해 정의를 내릴 때 그냥 실행되고 있는 컴퓨터 프로그램이라고 정의를 내리고 있으며, 스케줄링 단계에서의 "작업"과 같은 단어라고 봐도 무방하다고 하고 있다. 실제로 프로세스라는 단어가 ..

운영체제란? 컴퓨터 HW 바로 윗단에 설치되는 SW입니다. 하드웨어를 관리하고, 응용 프로그램과 하드웨어 사이에서 인터페이스 역할을 하며 시스템의 동작을 제어하는 시스템 소프트웨어로 정의합니다. 운영체제는 시스템의 자원(가령 CPU 시간, 메모리 공간, 파일 저장 공간, 입출력 장치 등)과 동작을 관리하는 소프트웨어입니다. 운영체제의 역할 응용 프로그램이 요청하는 시스템 자원을 효율적으로 분배하고 관리합니다. 응용 프로그램? 운영체제를 제외한 나머지 소프트웨어로 사용자가 평소에 사용하는 프로그램을 의미합니다. 시스템 자원? 컴퓨터 HW와 같은 개념으로 CPU, 메모리, 입출력 장치, 하드 디스크 등 시스템에서 사용할 수 있는 자원을 의미합니다. OS는 자원들을 효율적으로 관리해 가장 좋은 성능을 내는 역..