본문 바로가기

Computer Science/운영체제9

운영체제란 운영체제란 크게 말하자면 컴퓨터 하드웨어를 관리하는 프로그램이다. 컴퓨터를 시스템의 각종 하드웨어적인 자원과 소프트웨어적인 자원을 효율적으로 운영 관리함으로써 사용자가 시스템을 이용하는데 편리함을 제공하는 시스템 소프트웨어이다. 사용자에게 편리함을 제공하고 시스템의 생산성을 높여주는 역할을 한다 운영체제는 사용자가 응용 프로그램을 편리하게 사용하고 하드웨어의 성능을 최적화 할 수 있도록 한다 운영체제는 모든 하드웨어와 소프트웨어를 관리하는 컴퓨터 시스템의 한 부분인 "실행 관리자"라고 정의할 수 있다. 즉 프로그래머가 컴퓨터 하드웨어를 모르더라도 컴퓨터를 쉽게 만들 수 있도록 지원해주는 소프트웨어가 운영체제다. 운영체제의 역할 CPU 스케쥴링과 프로세스 관리 : CPU 소유권을 어떤 프로세스에 할당할지,.. 2023. 3. 17.
멀티 프로세스와 멀티 스레드 멀티 프로세스 멀티 프로세스란, 두 개 이상의 프로세스를 동시에 처리하는 것을 말한다. 각 프로세스 간의 메모리 구분이 필요하거나, 독립된 주소 공간을 가져야 할 경우 사용한다. 프로세스 간 통신을 위해서는 IPC를 통해야 한다. 장점 한 프로세스가 문제가 생겨도 다른 프로세스에 영향을 주지 않아, 다른 프로세스에 영향이 확산되지 않는다. 구현이 비교적 간단하다. 단점 독립된 메모리 영역을 갖기 때문에 작업량이 많을수록 Context Switching이 자주 일어나서 오버헤드가 발생한다. Context switching 과정에서 캐시 메모리 초기화 등 무거운 작업이 진행되고 시간이 소모 되는 등의 오버헤드가 발생한다. 성능저하의 우려가 있다. 멀티 스레드 멀티 스레드란 하나의 프로세스에서 여러 스레드로 .. 2023. 3. 17.
프로세스와 스레드 프로세스란? 프로세스는 메인 메모리에 할당되어 실행중인 상태인 프로그램의 인스턴스를 말한다. ( 이 때 프로그램과는 개념이 다르다. 프로그램은 어떤 작업을 위해 실행할 수 있는 파일으로,. 정적인 개념을 의미한다.) 프로세스는 운영체제로부터 시스템 자원을 할당받는 작업의 단위가 된다. 특징은 다음과 같다. 프로세스는 각각 독립된 메모리 영역을 할당받는다. Code, Data, Stack, Heap으로 구성되어 있다. 기본적으로 프로세스당 최소 1개의 스레드(메인 스레드)를 가지고 있다. 각 프로세스는 별도의 주소 공간에서 실행되며, 한 프로세스는 다른 프로세스의 변수나 자료구조에 접근할 수 없다. 한 프로세스가 다른 프로세스의 자원에 접근하려면 프로세스 간의 통신(IPC, inter-process com.. 2023. 3. 17.