2024/06/14 3

주소 바인딩

주소 바인딩프로그램의 명령어와 데이터를 기억장치에 적재할 때, 그것들의 기적장치 주소를 결정하는 것  컴파일 시간 (compile time) 바인딩컴파일 시간에 절대 코드(absolute code)를 생성한다.프로그램을 기억장치 내에 적재할 위치를 컴파일 시간에 결정함.적재 위치를 바꾸려면 다시 컴파일해야 한다.  적재 시간 (load time) 바인딩 컴파일 시간에 재배치 코드(relocatable code)를 생성한다.적재 시간에 적재할 위치를 결정함.미리 변환된 작업 사용  실행 시간 (execution time) 바인딩프로세스가 실행 중에 기억장치의 한 세그먼트로부터 다른 세그먼트로 이동될 수 있다.바인딩은 실행시간에 결정됨 -> 계속 달라질 수 있다. -> 맵핑 테이블 필요하다변환을 하면서 ..

운영체제 2024.06.14

교착상태

서로 물러서지 않고 양보를 하지 않아서 무한히 대기하는 상태한쪽이 양보를 해야 함(프로세스가 처리를 해줘야 한다) 교착상태: 프로세스들이 각자 자원을 점유하고 있음에도 다른 프로세스가 점유한 자원을 요청하여 무한하게 대기하는 상태하드웨어적 자원: CPU, 기억장치, 입출력 장치소프트웨어적 자원: 파일, 세마포어 각자 자원 유형은 여러개의 instance(사례)를 가질 수 있다자원을 사용하려면 요청->사용->해제 순서대로 교착상태는 다음 네 조건이 동시에 만족해야 한다.1. 상호배제 : 오직 한 프로세스만 자원을 점유할 수 있다2. 점유와 대기 : 하나의 자원을 점유하면서도 다른 자원에 대기하는 것3. 비선점: 점유된 자원은 강제 반환 X 오로지 프로세스가 작업을 마치고 자발적으로 반환4. 순환 대기 : ..

운영체제 2024.06.14

프로세스 동기화

병행 프로세스들이 서로 데이터를 주고 받으면서 수행될 때 프로세스간 동기화 필요 병행 프로세스들이 공유데이터를 접근할 때, 병행접근하면 데이터 일관성이 잘못될 수 있다. 따라서 일관성을 유지하려면 데이터접근을 순서화 하여야한다.  count ++ or -- 는 순서화하여 한번에 하나씩 수행.. 1/1/1/2/1/이렇게 할 경우 일관성이 잘못됨 N개의 프로세스가 공유데이터에 접근하고 각 프로세스는 공유데이틀 접근하는 코드 세그먼트를 갖고 있는데 이것을 임계구역이라고 한다. 임계구역은 순서화해서 수행해야한다. 중간난입이 불가능하여 오직 하나의 프로세스만 임계구역을 수행하여야 한다. 진입구역: 임계구역 들어가기전 허가 구하기 출구구역: 임계구역 수행을 끝낸다는 것을 알림 임계구역 문제 요구 조건 1. 상호배제..

운영체제 2024.06.14