임계 영역(critical section) :프로세스 영역 중에서 공유 자원을 접근하는 코드 영역. (즉 공유 자원에 접근했을 때를 '임계 영역에 있다'고 말함) 모든 프로세스가 임계 영역을 가지고 있는 것은 아니지만 자원을 공유하면서 병행적으로 실행되는 프로세스는 반드시 임계 영역을 가지고 있다. 프로세스의 결정성이 보장되기 위해서는 임계 영역이 상호 배제적으로 실행되어야 한다. 프로세스의 코드 영역 1) 임계 영역(critical section) 2) 진입 영역(entry section) 3) 출구 영역(exit section) 4) 잔류 영역(remainder section) 임계 영역의 문제해결 만족조건 1) 상호 배제(mutual exclusion) 조건: 두 개 이상의 프로세스가 임계영역에 존..
병행성(concurrency): 여러 개의 프로세스 혹은 스래드들이 동시에 실행되는 것 결정성(determinacy): 동일한 입력에 대한 프로세스 혹은 스래드의 실행 결과는 항상 일정하다. 하지만 상호 영향을 주고 받으면서 자원을 공유하고 병행적으로 실행될 경우 실행 결과가 달라질 수 있다. (=결정성이 보장되지 않는다.) 즉, 결정성 보장을 위한 운영체제의 기능이 요구된다. 생산자 프로세스: 데이터를 생산하여 공유버퍼에 저장한다. 소비자 프로세스: 공유 버퍼에 저장된 데이터를 가져와 소비한다. - 두 프로세스는 상호 영향을 주고 받는다. - 두 프로세스에 대한 결정성 보장이 요구됨. (동기화 필요) 경쟁 조건(race condition): 다수의 프로세스들이 공유 메모리를 병행적으로 접근할 때, 그 ..
인덱스 목적: 찾고자 하는 레코드의 검색 속도 향상 - Digital Index: 모체 데이터(전체 데이터베이스)를 기반으로 search key(탐색 키) 값을 찾기 쉽도록 배열한 data entry들의 집합 - Data entry: 인덱스 파일에 저장된 레코드(탐색키 필드 + 주소 필드) - 탐색 키 값에 따라 정렬 - 범용적인 인덱스 구조: balanced 트리 - 모체 데이터가 추가/삭제/수정되면 각 인덱스에 반영되어야 함 복합 인덱스: 두개 이상의 속성으로 인덱스가 만들어지는 것 ex) 전공, 학년으로 인덱싱: 전공으로 1차 정렬, 학년으로 2차 정렬 Index의 data entry에 저장할 방식 ① k *: search key 값이 k인 실제 data record ② : rid는 k 값에 해당하..
페이지: 데이터를 읽고 쓰는 기본 단위 (대부분 4KB/8KB, 데이터베이스에서 주로 사용) 블락: 메인메모리와 디스크간의 데이터 입출력의 기본 단위. 몇 개의 페이지들로 구성. (운영체제에서 주로 사용) 데이터베이스 연산 처리시간 : 페이지들의 입출력 시간 + CPU 처리 시간 페이지의 입출력 시간이 CPU 처리 시간보다 훨씬 크므로 데이터베이스의 데이터를 빠르게 처리하기 위해서는 데이터의 입출력에 필요한 페이지 수를 최소화할 필요가 있음 데이터베이스는 여러 개의 파일로 구성 논리적으로는 테이블들로 구성, 물리적으로는 파일들로 저장 1) Heap 파일 (순서가 없는 파일) 동등검색(ex: 학번이 1234인 학생을 검색) 키(ex: 학번, 주민번호) : 평균적으로 전체 페이지의 절반을 검색 값을 찾은 후..
양방향 통신 -> 오류 제어와 흐름 제어 기능을 모두 지원 - 송신 호스트는 정보 프레임(전송 데이터 + 순서 번호 + 오류 검출 코드)을 순서 번호에 따라 연속적으로 전송함 - 정보 프레임을 수신한 수신 호스트가 응답하는 순서 번호는 정상적으로 수신한 번호가 아닌 다음에 수신하기를 기대하는 번호를 회신하는 것이 일반적임 - 송신 윈도우(임시 저장 버퍼 수)는 전송은 되었지만 긍정 응답이 회신되지 않은 프레임을 재전송에 대비하여 보관. 송신 호스트가 관리. - 수신 윈도우(임시 저장 버퍼 수)는 프로토콜의 동작 방식(고백-N 방식, 선택적 재전송 방식)에 따라 크기가 달라짐. 수신 호스트가 관리. 1) 흐름 제어 순서 번호(sequence number) - 프레임 별로 부여되는 일련 번호 - 정지-대기 ..
데이터 링크 계층은 두 호스트를 1:1로 연결하기 위한 점대점 방식을 지원 주요 기능: 물리 계층의 전송 오류를 재전송(Retransmission)기법으로 복구 - 점대점 - 멀티 드롭(multi drop) : 호스트 구분을 위한 주소(Address) 개념 필요 : 하나의 호스트가 다수의 호스트와 연결된 비대칭 구조 프레임의 종류 1) 정보 프레임 - 상위 계층이 전송 요구한 데이터를 송신하는 용도 - 순서 번호, 송수신 호스트 정보 등이 포함됨 2) 긍정 응답 프레임: ACK 프레임(Positive Acknowledge) - 전송 데이터가 올바르게 도착했음을 회신하는 용도 - 수신 호스트가 송신 호스트에게 전송 3) 부정 응답 프레임: NAK 프레임(Negative Acknowledge) - 전송 데이..
이더넷 프레임 구조 ↓ [네트워크/network] 이더넷 프레임 구조 이더넷 프레임 구조 (필드 단위는 바이트) - MAC 헤더: Preamble(서문), Start Delimiter(경계 기호), Destination Address, Source Address, Length/Type - 이더넷 DATA : LLC 프레임 - MAC 트레일러: CRC.. thdbs523.tistory.com * MAC 프레임 = MAC 헤더 + LLC 프레임 + MAC 트레일러 토큰 버스 프레임 - MAC 헤더: Preamble, Start Delimiter, Frame Control, Destination Address, Source Address - LLC 프레임: Data - MAC 트레일러: CRC 코드/FCS, ..
- CSMA/CD: 충돌 감지를 위해 각 호스트에 트랜시버가 아닌 이더넷을 이용 - 버스 공유 방식 : 버스에 모든 호스트를 연결(구축의 어려움) - 허브: 박스 형태의 장비에 잭을 연결해서 이더넷 네트워크를 쉽게 연결 - 스위치 허브: 허브의 성능을 향상시킨 장비 허브 - 모든 호스트에게 프레임 전송 (브로드캐스팅) - 각 호스트는 외형상 스타형 구조로 허브에 연결 - 내부적인 동작 원리는 공유 버스 방식 - 충돌 가능성 있음 - 최대 전송 용량 100Mbps 스위치 허브 - 목적지로 지정된 호스트에게만 프레임 전송 -> 스위치(교환) 기능 - 동시에 여러 호스트가 데이터를 전송할 수 있음(ex: A->B and C->D) - 스위치 허브의 용량이 충분하면 각각의 호스트는 할당된 LAN 용량을 모두 사..