[넓고 얕게 배우는 컴퓨터 구조] 고급 이론을 이해하기 위한 용어정리
강의 영상📼
정리📝
- 동시성
- 라면 먹기라는 일과 TV보는 일은 동시성이 있나? -> 공간 분리 가능, 두 일 사이에 연관성 없어서 두 사람이 동시에 TV보고 라면을 먹을 수 있음
- 행위 하는 주체가 한명이라면? -> 한 사람이 라면을 먹으면서 TV를 볼 수 있나? YES
- 어떤 주체가 여러 행위를 동시에 하는 것 또한 동시성
- 병렬성
- 동시성의 부분집합
- 같은 (한가지) 일을 여러 행위의 주체가 동시에 함
- 인형에 눈을 붙이는 일을 여러 사람이 함께(동시에, 같은 공간에 들어와서) 처리할 수도 있음 효율 증대
- 인형 눈알 붙이기라는 작업은 동시성을 넘어 병렬성이 있는 작업
- 일을 동시에 하다 보면 충돌 가능성이 있음
- 동시에 한 인형을 두 명이 잡게 되는 경우 등
- 원자성 보장되는 일
- 화장실 들어가기 전 노크 -> 문 잠금 -> 볼일 보기 -> 문 열고 나옴
- 볼일 보는 행위 자체에 대해 원자성 보장받기 위해 문을 잠금 -> 행위를 하는 데 방해받지 않기 위함
- 볼일 보는 일련의 행위에 대해 원자성을 부여함
- 어떤 일 하는 데 있어서 개별화된 흐름(연산)이 존재 -> 그 흐름 속에서 어떤 공간에 대해 동시 접근할 수 있음 -> 충돌 발생
- 화장실 들어갔는데 문 안 잠그면 한 화장실에 두 명이 들어가려고 하는 충돌이 발생할 수 있음
- 제한된 환경에서 충돌 방지를 위해 동기화를 실시해야 함
-
의존성
- 사람들이 출근을 하는데, 그 개인들은 출근을 위해 버스에 의존적임 -> 버스 없으면 사람들은 출근할 수 없으므로 행위의 의존
- 자동차 부품들은 자동차 자체가 사라지면 폐기되게 됨 -> 자동차 부품들은 자동차의 존재 자체에 의존
-
의존성
- 사람들이 출근을 하는데, 그 개인들은 출근을 위해 버스에 의존적임 -> 버스 없으면 사람들은 출근할 수 없으므로 행위의 의존
- 자동차 부품들은 자동차 자체가 사라지면 폐기되게 됨 -> 자동차 부품들은 자동차의 존재 자체에 의존
- 한 번에 여러 일 하면 충돌 발생할 수 있음
- 교차로에서 자동차들이 각자 움직이는데 규칙 정해서 신호 준수하지 않으면 충돌이 발생할 수 있음
- 화장실에서 볼일 볼 때 원자성 보장받고, 여러 명이 동시에 화장실 가려고 하면 한 사람이 들어가서 문을 잠그고 다른 사람들은 기다려야 함
- 화장실 들어가서 문 잠금 -> 휴지가 없어서 화장실에서 나가지 못함 -> 바깥 사람들 중 한 명에게 휴지가 있음 -> 화장실에 들어간 사람이 밖으로 나오길 기다리고 있음
- 기다리는 사람은 화장실에 들어갈 수 없고, 화장실에 들어간 사람은 밖으로 나올 수 없는 상태 = 교착상태
- 동시성에서 가장 중요한 것 = 동기화
- 동기화: 화장실 들어갈 때 문 잠그는 것, 자동차가 교통 신호 준수하는 것
- 문 잠그고 들어갔을 때 휴지가 없는 경우를 고려하지 못함 -> 동기화의 논리 구조에서 예외 처리를 잘 해야 교착상태 발생하지 않음