본문 바로가기

프로세스

[면접을 위한 CS 전공지식 노트] 3.3. 프로세스와 스레드(3) 🔑 공유자원(shared resource) 시스템 안에서 각 프로세스, 스레드가 함께 접근할 수 있는 모니터, 프린터, 메모리, 파일 등의 자원, 변수 경쟁 상태(race condition) 공유자원을 두 개 이상의 프로세스가 동시에 읽거나 쓰는 상황 동시에 접근 시도 시 접근 타이밍이나 순서 등이 결과값에 영향을 줄 수 있는 상태 🔑 임계영역(critical section) 둘 이상의 프로세스, 스레드가 공유 자원에 접근할 때 순서 등의 이유로 결과가 달라지는 코드 영역 해결 할 수 있는 조건 상호 배제 : 한 프로세스가 임계 영역에 들어갔을 때 다른 프로세스는 들어갈 수 없음 한정 대기 : 특정 프로세스가 영원히 임계영역에 들어가지 못하면 안 됨 융통성 : 한 프로세스가 다른 프로세스의 일을 방해해선.. 더보기
[면접을 위한 CS 전공지식 노트] 3.3. 프로세스와 스레드(2) 🔑 PCB(Process Control Block) 운영체제에서 프로세스에 대한 메타 데이터를 저장한 데이터 프로세스가 생성되면 운영체제는 해당 PCB 생성 프로세스의 메타 데이터가 PCB에 저장되어 관리됨 메타 데이터 데이터에 관한 구조화된 데이터를 설명하는 작은 데이터, 대량의 정보 중 찾고 있는 정보를 효율적으로 찾아내 이용하기 위해 일정 규칙에 따라 콘텐츠에 부여되는 데이터프로세스의 중요 정보를 포함하고 있기 때문에 일반 사용자가 접근하지 못하도록 커널 스택의 가장 앞부분에서 관리됨 프로세스의 중요 정보를 포함하고 있기 때문에 일반 사용자가 접근하지 못하도록 커널 스택의 가장 앞부분에서 관리됨 🔑 PCB의 구조 프로세스 스케줄링 상태 : 준비, 일시 중단 등 프로세스가 CPU에 대한 소유권을 얻은.. 더보기
[면접을 위한 CS 전공지식 노트] 3.3. 프로세스와 스레드(1) 🔑 프로세스와 스레드 프로세스(process) CPU 스케줄링 대상인 작업(task)와 거의 같은 의미로 사용 컴퓨터에서 실행되고 있는 프로그램 프로그램이 메모리에 올라가 인스턴스화 된 것 스레드(thread) 프로세스 내 작업흐름 프로그램이 메모리에 올라가면 프로세사기 되는 인스턴스화를 거치고 운영체제의 CPU스케줄러에 따라 CPU가 프로세스 실행됨 🔑 프로세스와 컴파일 과정 프로그램 컴파일 과정 전처리 : 소스코드 주석 제거, 헤더 파일 병합, 매크로 치환 컴파일러 : 오류 처리, 코드 최적화 작업, 어셈블리어로 변환 어셈블러 : 어셈블리어를 목적 코드로 변환, 확장자는 운영체제마다 다름 링커 프로그램 내에 있는 라이브러리 함수나 다른 파일들과 목적 코드를 결합해 실행 파일을 만듦 정적 라이브러리 프.. 더보기

728x90