CS/OS(4)
-
[운영체제] 스레드와 병행성
스레드는 CPU 이용의 기본 단위이다. 스레드는 스레드 ID, 프로그램 카운터(PC), 레지스터 집합, 그리고 스택으로 구성된다. 스레드는 같은 프로세스에 속한 다른 스레드와 코드, 데이터 섹션, 그리고 열린 파일이나 신호와 같은 운영체제 자원들을 공유한다. 전통적인 프로세스는 하나의 제어 스레드를 가지고 있다. 만일 프로세스가 다수의 제어 스레드를 가진다면, 프로세스는 동시에 하나 이상의 작업을 수행할 수 있다. 단일, 멀티 스레드 차이를 말함 동기현대의 대부분의 소프트웨어 응용들은 다중 스레드를 이용한다. 하나의 응용은 몇 개의 실행 흐름을 가진 독립적인 프로세스로 구현된다. 아래에서는 다중 스레드 응용 프로그램의 몇 가지 예를 보여준다.이미지 모음에서는 사진 축소판을 만드는 응용 프로그램은 별도의 ..
2024.09.27 -
[운영체제] 프로세스 간 통신
운영체제 내에서 실행되는 병행 프로세스들은 독립적이거나 또는 협력적인 프로세스들일 수 있다. 프로세스가 시스템에서 실행 중인 다른 프로세스들과 데이터를 공유하지 않는 프로세스는 독립적이다. 프로세스가 시스템에서 실행 중인 다른 프로세스들에 영향을 주거나 받는다면 이는 협력적인 프로세스들이다. 분명히 다른 프로세스들과 자료를 공유하는 프로세스는 상호 협력적인 프로세스이다. 정보 공유: 여러 응용 프로그램이 동일한 정보에 흥미를 느낄 수 있으므로, 그러한 정보를 병행적으로 접근할 수 있는 환경을 제공해야 한다.계산 가속화: 만일 우리가 특정 태스크를 빨리 실행하고자 한다면 우리는 그것을 서브태스크로 나누어 이를 각각이 다른 서브태스크들과 병렬로 실해오디게 해야 한다. 이러한 가속화는 복수 개의 처리 코어를 ..
2024.09.11 -
[운영체제] 프로세스에 대한 연산
대부분 시스템 내의 프로세스들은 병행 실행될 수 있으며, 반드시 동적으로 생성되고 제거되어야 한다. 그러므로 운영체제는 프로세스 생성, 종료를 위한 기법을 제공해야 한다. 프로세스 생성 및 종료 과정 실행되는 동안 프로세스는 여러 개의 새로운 프로세스들을 생성할 수 있다. 같이 생성한 프로세스는 부모 프로세스 새로운 프로세스는 자식 프로세스라 부른다. 때문에 프로세스 구조는 트리구조를 형성한다. 대부분의 운영체제에서는 PID (프로세스 식별자 -> DB -> 유일키 역할)를 사용해 프로세스의 고유값을 할당해 구별한다. 일반적으로 프로세스가 자식 프로세스를 생성할 때 그 자식 프로세스는 자신의 임무를 달성하기 위하여 CPU 시간, 메모리, 파일, 입출력 장치가 필요한다. 자식프로세스는 이 자원을 운영체제..
2024.09.04 -
[운영체제] 프로세스란
초기의 컴퓨터 시스템은 한 번에 하나의 프로그램만을 실행하도록 허용하였다. 이 프로그램이 시스템을 완전히 제어하고, 시스템의 모든 자원에 접근할 수 있었다. 반면 오늘날의 컴퓨터 시스템들은 메모리에 다수의 프로그램이 적재되어 병행 실행되는 것을 허용한다. 이러한 발전은 다양한 프로그램을 보다 견고하게 제어하고 보다 구획화할 것을 필요로 했다. 이러한 필요성이 프로세스의 개념을 낳았으면, 프로세스란 실행 중인 프로그램을 말한다. 프로세스는 현대의 컴퓨팅 시스템에서 작업의 단위이다.모든 프로세스는 잠재적으로 병행 실행이 가능하고, CPU는 이들 프로세스 가운데에서 다중화된다. 프로세스 개념 초기에는 작업을 실행하는 일괄처리 시스템이었고, 사용자 프로그램 또는 태스크를 실행하는 시분할 시스템이 뒤를 이어 발전..
2024.08.22