반응형

공부해요/운영체제 11

스레드 병행프로세스 퀴즈

Q1. 프로세스를 실행 단위로 하는 멀티태스킹의 문제점을 해결하기 위해 출현한 프로세스보다 크기가 작은 효율적인 새로운 실행 단위는 무엇인가?더보기A1. 스레드  Q2. 다음 중 스레드의 생명과 프로세스의 생명에 대한 관계 중 올바르지 않은 것을 고르시오.① 스레드로 만든 함수가 종료하면 스레드는 종료된다.② 스레드가 종료하면 TCB 등 스레드 관련정보는 모두 제거된다.③ 프로세스에 속한 첫번째 스레드가 종료될 때, 프로세스가 종료된다.더보기A2. ③.프로세스에 속한 모든 스레드가 종료될 때 프로세스가 종료된다.  Q3. 협력 프로세스와 스레드는 실행 순서에 따라 결과 가 다른 □ □ □ □에 의해 재현이 어려워진다.더보기A3. 비결정성(non-determinism)

병행프로세스와 상호배제

병행 프로세스와 상호배제학습 목표프로세스 및 스레드 동기화상호배제 (Mutual Exclusion)멀티스레드 동기화 기법생산자 소비자 문제모니터 오늘은 프로세스 및 스레드 동기화만..병행 프로세스병행 프로세스는 운영체제가 프로세서를 빠르게 전환하여 프로세서의 시간을 나누어 사용함으로써 여러 프로세스가 동시에 실행되는 것처럼 보이게 하는 개념임. 크게 독립 프로세스와 협력 프로세스로 나뉨.독립 프로세스: 다른 프로세스에 영향을 주고받지 않으며 독립적으로 실행됨.협력 프로세스: 다른 프로세스와 상호작용하며 특정 기능을 수행하는 프로세스.협력 프로세스와 스레드협력 프로세스 및 스레드는 다른 프로세스 또는 스레드와 상호작용하는 특성을 가짐. 자원의 공유, 빠른 수행, 모듈화된 시스템 구성을 위해 필요함.특성:자..

프로세스와 스레드(2)

스레드의 개념과 특성스레드는 프로세스 내에서 독립적으로 실행되는 가벼운 실행 단위임. 스레드는 동일한 프로세스 내에서 실행되며, 프로세스 자원을 공유함으로써 자원 사용이 효율적임. CPU 스케줄링에서 프로세스보다 더 가볍게 다뤄지며, 병렬 처리를 가능하게 함. 다수의 스레드가 같은 프로세스 내에서 동작하기 때문에 컨텍스트 전환이 빠르고, 메모리 사용이 절감됨.  스레드의 종류사용자 수준 스레드(User-level thread, n:1 모델): 커널에서 직접 인식되지 않고 사용자 영역에서만 관리됨. 커널 개입이 없으므로 전환이 빠르지만, 하나의 스레드가 블로킹되면 프로세스 전체가 블로킹될 수 있음.커널 수준 스레드(Kernel-level thread, 1:1 모델): 커널이 직접 스레드를 관리하고, 전환도..

프로세스와 스레드 퀴즈

Q1. 다음 중 옳은 것을 고르시오.① 각 프로세스는 사용자 공간과 커널 공간으로 나뉜다.② 시스템 전체에는 여러 커널 주소 공간이 있다.③ 모든 프로세스는 커널 주소 공간을 독립적으로 사용한다.④ 사용자 공간에서의 명령어는 커널 공간에서도 사용할 수 있다.더보기A1. ① 각 프로세스는 사용자 공간과 커널 공간으로 나뉜다. - 해설② 시스템 전체에는 하나의 커널 주소 공간이 있다.③ 모든 프로세스는 커널 주소 공간을 공유하여 사용한다.④ 사용자 공간에서의 명령어는 커널 공간에서도 사용할 수 없다. Q2. 프로세스 관련 system call에서 자식 프로세스를 생성하는 시스템 호출은 무엇인가?더보기A2. fork() Q3. Process Table이란 시스템의 프로세스 관리를 위한 표이며 한 시스템 내에 ..

프로세스와 스레드

1. 프로세스 개념과 상태 변화1.1. 프로세스와 프로그램의 차이프로그램은 하드디스크와 같은 저장 매체에 저장된 실행 파일임. 우리가 컴퓨터에서 실행할 수 있는 파일들(예: .exe 파일, .out 파일) 등이 프로그램임. 이 프로그램은 단순히 저장된 상태로는 동작하지 않음.프로세스는 프로그램이 메모리에 올라와서 실제로 실행 중인 상태를 의미함. 즉, 프로그램이 실행되면 운영체제가 그 프로그램을 메모리에 올리고, 메모리에 올라간 프로그램을 CPU가 실행하면서 프로세스가 됨.프로세스는 실행 중인 프로그램에 대한 여러 정보들을 포함함. 예를 들어, 메모리 상태, 실행 중인 명령어, 열려 있는 파일 목록 등을 관리함.프로세스의 메모리 컨텍스트: 프로세스가 실행될 때 사용되는 메모리는 크게 네 가지로 나눌 수 ..

프로그램 수행과 예외처리 및 시스템 콜 퀴즈

Q1. 다음 exception 중 특성이 다른 하나를 고르시오.① Interrupt② Trap③ Fault④ Abort더보기A1. ① Interrupt: 나머지 보기는 모두 동기예외이며 Interrupt만 비동기예외이다. Q2. 한 프로그램이 실행 중인 일체의 상황 혹은 상황 정보를 무엇이라 하는가?더보기 A2. context Q3. 다음 설명 중 옳지 않은 것을 고르시오.① 표준 라이브러리는 OS나 HW에 상관없이 이름이 동일하다.② 32비트 CPU에서 리눅스이 프로세스 주소 공간을 보았을 때 미할당 영역에서는 힙은 아래로, 스택은 위로 자란다.③ page fualt는 CPU에는 없지만 메모리상에 있는 페이지를 접근할 때 발생한다. ④ 프로세스의 메모리 배치는 코드영역, 데이터 영역, 힙 영역, 스택 ..

시스템 콜

응용프로그램을 위한 라이브러리라이브러리라이브러리는 응용프로그램이 활용할 수 있도록 미리 작성된 함수들의 집합으로, 컴파일되어 바이너리 형태로 제공개발자는 라이브러리를 활용하지 않고서는 응용프로그램을 작성하기 어렵.라이브러리의 종류표준 라이브러리:응용프로그램을 위해 구현된 함수를 제공운영체제(OS)나 하드웨어(HW)에 상관없이 이름 및 사용법이 동일시스템 콜 라이브러리:시스템 콜 함수를 제공시스템 콜 함수들은 시스템 콜을 통해 커널 모드로 전환하고 커널에 진입하여 함수를 실행OS마다 시스템 콜의 구현이 다름사용자 코드와 라이브러리 코드의 링킹실행 파일 생성 과정:컴파일 과정에서 사용자 코드와 라이브러리 코드가 링킹되어 하나의 실행 파일로 만들어짐이 과정에서 각 함수와 변수의 주소가 계산응용프로그램 실행:응..

반응형