[CS/OS] OS 동시성 문제의 흐름 - 스레드부터 Deadlock까지
·
CS/OS
운영체제의 동시성 문제는 프로세스/스레드에서 시작해 Race Condition → Lock → Semaphore → Deadlock으로 이어진다.흐름으로 따라가며 각 개념을 이해해보자.1. 프로세스와 스레드스레드는 메모리를 공유하기 때문에 동시성 문제가 발생한다.- 프로세스란?프로세스(Process)는 실행 중인 프로그램이다.카카오톡을 실행하면 카카오톡 프로세스가 생성되고, 크롬을 실행하면 크롬 프로세스가 생성된다.각 프로세스는 독립된 메모리 공간을 가진다. 즉, 카카오톡이 크롬의 데이터를 함부로 읽거나 쓸 수 없다.- 스레드란?스레드(Thread)는 프로세스 안에서 실제 작업을 수행하는 실행 단위다.하나의 프로세스는 여러 스레드를 가질 수 있다.예를 들어 크롬 브라우저를 실행하면:Chrome 프로세스 ..
운영체제 (OS) 1. Introduction 정리
·
CS/OS
운영체제 Operating SystemsCh1. Introduction to Operating Systems: 운영체제의 기본 개념 및 현재 동향 Q. 프로그램이 실행되면 어떤 일이 일어나는가?A. running program = CPU instruction(명령어) 집합을 프로그램 순서대로 실행하는 것 1. processor(CPU)가 메모리에서 instruction fetch한다. 2. Decode : instruction이 무엇인지 figure out 3. Execute : ex) add two numbers, access memorym check a conditon, jump to function, ... 4. processor가 다음 instruction으로 넘어가고 1-3..