본문 바로가기

컨텍스트 스위칭

스레드의 등장 멀티태스킹- 컴퓨터가 여러 작업을 동시에 수행하는 것처럼 보이게 하는 운영체제의 기술  멀티태스킹 구현 방식 1. 시분할 멀티태스킹- 하나의 CPU가 작업을 빠르게 전환 처리, 사용자에게 동시에 실행되는 것처럼 보이게 함- CPU가 매우 빠르게 전환하여 작업이 병렬로 실행되는 것처럼 느껴짐 2. 병렬 멀티태스킹- 여러 CPU나 코어를 활용하여 작업을 실제로 동시에 처리- 작업 간 충돌을 최소화, 처리 속도 향상멀티태스킹의 한계초기 운영체제와 시분할 방식의 문제점- 초기 운영체제는 단일 CPU로 작동, 시분할 멀티태스킹 방식 주로 사용 문제점1. CPU 자원의 한계- 작업이 많아질수록 모든 프로세스가 CPU를 할당받을 기회가 줄어듦2. 컨텍스트 스위칭 비용- 프로세스 전환 시, 레지스터 값과 메모리 상태를.. 더보기
프로세스와 운영체제의 이해 프로세스- 프로그램이 메모리에 로드되어 실행되는 개체- 실행을 위해 운영체제(커널)에 의해 관리되는 작업 (운영체제로부터 PCB를 할당받아 생성된 상태) 프로세스 생성- 메모리의 사용자 영역에 프로세스로 올라오고, 운영체제 영역에 해당 프로세스에 대한 PCB가 올라온 상태 프로세스 종료- 메모리의 운영체제 영역에 PCB가 사라지고, 사용자 영역의 프로세스가 사라진 상태PCB - Process Control Block PCB란?- 프로세스에 대한 메타데이터 저장하는 운영체제의 자료구조- 프로세스 관리에 필요한 정보 저장 - PCB에 포함된 메타데이터 예시메타데이터란?- 데이터에 대한 데이터를 의미ex) 이미지 파일의 촬영 날짜, 해상도 등 프로세스의 메모리 구조 정적영역- 컴파일 타임에 각 영역의 메모리 .. 더보기