Computer Science/시스템 소프트웨어 2

프로세스(Process)와 스레드(Thread)의 차이

프로그램 (Program) 우리가 흔히 말하는 프로그램이란 명령어들의 집합이다. 사용자가 원하는 일을 처리할 수 있도록 프로그래밍 언어를 사용하여 올바른 수행절차를 표현해 놓은 명령어를 말한다. 프로세스 (Process) 프로세스는 운영체제가 메모리 등의 필요한 자원을 할당해준 실행 중인 프로그램이다. 프로그램을 실행하면 운영체제로부터 실행에 필요한 자원을 할당받아 프로세스가 된다. 이때, 각각의 프로세스는 서로 메모리 공간을 독자적으로 갖기 때문에 서로 메모리 공간을 공유하지 못한다. 따라서 다른 프로세스의 메모리에 접근하려면 IPC(InterProcess Communication)과 같은 방식이 필요하다. 멀티프로세싱 : 여러 프로세스를 사용하는 것 멀티태스킹 : 같은 시간에 여러 프로그램을 띄우는 ..

시스템 소프트웨어(System software)의 종류

소프트웨어는 크게 2가지로 분류할 수 있다. 시스템 소프트웨어(System software) 응용 소프트웨어(Application software) 시스템 소프트웨어 시스템 소프트웨어는 하드웨어를 컨트롤할 수 있는 소프트웨어를 말한다. 대표적인 예로 운영체제(OS)가 있다. 예를 들어, 곰플레이어로 영상을 보고 싶다고 가정해 보자.곰플레이어는 모니터에게 "영상을 출력해" 라고 말할 권한이 없어서 운영체제로 요청해야 한다. 곰플레이어가 운영체제에게 "모니터에 영상을 출력해주면 안 될까?" 요청하면 운영체제는 받아들인다. 그제야 하드웨어는 운영체제의 명령을 받아 모니터에 영상을 출력한다. 이렇게 하드웨어를 컨트롤할 수 있는 소프트웨어가 시스템 소프트웨어다. 장치를 움직이게 하는 소프트웨어인 셈이다. 단순하게..