<p> 기술용어중 하나를 인터넷과 나의 설명을 비교해 보려고 한다.</p> <p> <br></p> <p>먼저 <b>인터넷에서 하는 상호배타에 대한 설명</b>이다.</p> <p> <br></p> <p>[Mutual exclusive(상호배타)]</p> <p>오류가 일어나지 않으려면 공통 변수에 대한 업데이트는 오직 한 쓰레드만 들어가 있을 때 진행되어야 한다. </p> <p>즉 Parent가 critical section에 들어가면 그 순간에는 Child가 critical section에 들어가면 안된다.</p> <p> <br></p> <p>[임계구역 문제(Critical-Section Problem)]</p> <p>Critical section(임계구간, 치명적인 구간): 이 구간에서 아주 치명적인 오류가 발생할 수 있다.</p> <p>A system consisting of multiple threads.</p> <p>Each thread has a segment of code, called critical section, in which the thread may be changing common variables, updating a table, writing a file, and so on</p> <p>여러개의 쓰레드로 구성된 시스템에서 각각의 쓰레드는 어떤 코드의 영역을 가지고 있는데, 그 코드의 영역을 임계구역이라고 한다. </p> <p>이 임계구역이 되기 위해서는 여러 쓰레드들이 공통의 변수, 테이블, 파일들을 바꾸는 부분 코드를 임계구역이라고 한다.</p> <p> <br></p> <p>========================================</p> <p> <br></p> <p>한마디로 머리 아프고 이해가 안된다.</p> <p> <b>나를 이렇게 설명한다.</b> </p> <p> <br></p> <p>두 개의 모듈이나 코딩한 부분이 하나의 메모리를 writing 하려는 부분이 있어, 이 메모리 부분을 '크리티컬섹션'(Critical-Section)이라고 해.</p> <p>두 놈이 동시에 write 하면 어떻게 될까?</p> <p>한 놈은 '1' 한놈은 '0'.</p> <p>뭐를 write 해야하는지 알수가 없지. 어떻게 해야할까?</p> <p>모든 OS는 이런 상황에서 배째라고 멈추어 서 버려.</p> <p>어떻게 해야 될지 모르니, 큰 일이 난거지.</p> <p>이걸 '상호배타' 오류가 발생했다고해.</p> <p> <br></p> <p>예를들면 워드프로그램으로 문서를 열어봐.</p> <p>같은 걸 두 번 열면 '읽기모드로 열겠습니까?'하고 물어보지.</p> <p>두 놈이 서로 write 하는 것을 막는 장치도 되.</p> <p>한 문서는 하나의 메모리에 존재하는게 당연하고, 동시에 write 하면, os가 멈추어 서버리지.</p> <p>한 놈은 read, write, 한놈은 read만 하면, 동시에 쓰기는 불가능 한거지.</p> <p>우리가 아는 워드 프로그램도 Mutual exclusive(상호배타)오류를 막기 위한 설계가 되어 있는 것이지.</p> <p> <br></p> <p>프로그램을 만들때, 이런 부분을 조심해서 다루어야해.</p> <p>상호배타 오류가 발생하면, 컴퓨터는 모르겠다고 멈추어 버리거나 리셋 되거든.</p> <p>누가 먼저 쓸지 명확히 순서를 정해 주어야 한다는 거지.</p> <p>이걸 '동기화' 라고해.</p> <p>A 너가 먼저 사용후에, B 너가 다음에 사용해라고 순서를 정해주는 거지.</p> <p>처음 만들때 설계에서 고려해야지 나중에 수정 하려면 찾는것 조차 쉽지가 않아.</p> <p> <br></p> <p>앞에 있는 인터넷 설명을 다시 읽어 보면, 이제 이해가 될 것이다.</p> <p>==========================================================</p> <p> <br></p> <p>전문용어로는 전문가처럼 보이게 할 뿐이다.</p> <p>정확히 이해하고, 쉽게 설명해야한다.</p> <p>쉽게 설명하지 못 한 다는 것은, 스스로 잘 이해하지 못한 것이다.</p> <p>물론 복잡한 것이면, 긴 시간이 필요한 수도 있다.</p>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.