728x90
    
    
  6.1 서론 
     연산보다 저장장치에 대한 신용도의 기준은 매우 높다. 
     입출력장치의 특성
          1. Behaviour : 인풋, 아웃풋, 저장
          2. Partner : 입출력장치의 반대쪽 끝에서 입력 데이터를 주거나 출력데이터를 읽어가는 사람 또는 기계
          3. Data rate : 데이터를 주고 받을 수 있는 최고 속도
6.2 신용도, 신뢰성과 가용성
     Defendability(신용도) : 서비스에 대하여 합리적인 수준에서 신뢰할 수 있는 서비스의 품질. 추상적인 개념
     Reliablity(신뢰성) : 어떤 기준 시점으로부터 서비스 수행의 지속성에 대한 측도로 장애가 발생하기까지의 시간과 같다.
          MTTF(mean time to failure) : 평균 무장애시간. 이것이 신뢰성의 측도
          MTTR(mean time to repair) : 평균 복구시간. 서비스 중단의 측정
          MTBF(mean time between failure) : 장애간 평균시간 
               MTTF + MTTR 
 가용성(availability) : 서비스의 수행과 중단. 두상태를 왔다갔다 하는데 관련된 서비스 수행에 대한 측도          
 
     
     
          MTTF / MTBF
     - 신뢰성과 가용성은 정량화 할 수 있다. 신용도는 그렇지 않다. 
     - 가용성의 향상 방법
          MTTF를 늘린다. : 결함 회피, 결함 감내, 결함 예상
          MTTR을 줄인다. : 핫플러깅도 복구시간을 단축하는 방법
6.3 디스크 저장장치 
     - 데이터는 실린더 단위로 저장이된다. 
     - 데이터 접근 3단계
          seek time : 디스크 헤드를 원하는 트랙까지 이동시키는 데 걸리는 시간
          rotation latency : 해당 트랙에서 섹터가 헤드아래위치까지로 회전하는 시간
          transfer time : 하나의 섹터를 전송하는 데 필요한 시간
     *** 예제
     - 디스크 성능의 향상방법
          평균 seek time 감소
               reordering(use locality) 과 디스크 스케줄링이용
6.4 플래시 저장장치 
     작고 저전력에다 저발열, 충격에 강하다.
     하지만 비싸다. 
     EEPROM이라 마모(wear out)된다.
6.5 프로세서, 메모리와 입출력장치 연결
     버스 : 한 다발의 전송선을 이용하여 여러 서브시스템을 연결하는 공유 통신 링크
          장점 : 융통성과 비용
          단점 : 통신 병목이 발생하여 입출력 처리량을 제한할 수 있다는 점.
          버스 설계가 어려운 이유 : 버스의 최고속도가 버스 길이나 장치개수같은 물리적 요인에 의해 주로 결정
     동기식 버스 : 클럭을 이용해서. 클럭이 시작할 때 데이터를 보내고 주소를 보내고 한다. 
     비동기식 버스 : 패턴주소를 만들어서 000000이면 주소, 100000이면 데이터 이런 식으로.
6.6 입출력장치와 메모리 프로세서, 운영체제와의 인터페이스 
     IO 관리 : 운영체제가 중재한다.
          여러개의 프로그램중 누가 자원을 쓸 것인지. IO컨트롤러는 비동기 인터럽트를 발생시킨다.
          IO 프로그래밍은 매우 성가시다 ? 
     입출력장치는 입출력 컨트롤러 하드웨어에 의해서 관리된다.
          Command register : 어떤 명령어를 발생시킨다.
          Status registers : 어떤 장치가 수행중이고 에러가 발생했는지 알려준다.
          Data registers : 읽기 쓰기 
     입출력장치에 명령어 보내기  
          Memory-mapped I/O : 주소를 이용하여 주변장치에 접근
               주소공간의 일부분이 입출력장치에 할당
               이 주소공간에서의 읽기/쓰기는 입출력장치로의 명령으로 해석
               기존의 메모리 접근 명령어 사용하는 장점
               주소공간 일부를 메모리가 사용할 수 있음 
          입출력 명령어 사용
               주변장치의 번호(descripter)와 명령워드 둘다 명시할 수 있다. 
               입출력 장치에 접근하는 별도의 지정된 입출력 명령어 사용
               커널 모드에서 실행( write나 read 등 시스템콜은 user mode에서는 실행을 하지 않는다. )  
        입출력장치와 프로세서(CPU)와의 통신 -> 폴링과 인터럽트
               1.폴링 : 상태 비트를 주기적으로 검사
                    저사양 PC나 리얼타임 임베디드 시스템에서 사용. 저렴하나 비효율적
               2.인터럽트 : 과제가 끝났을 때 processor에게 인터럽트를 건다.
                    명령어 사이에 들어갈 수 있다. 
                    priority interrupt : 낮은 우선순위의 인터럽트 처리를 하는 중 
                         높은 우선순위 인터럽트가 걸리면 낮은 거 중단하고 높은거 실행 
                    -> 이런 것들은 CPU가 처리한다.
            3. 직접 메모리 접근방식 사용(DMA)
                   왜? 프로세서가 매 입출력 이벤트마다 디스크로부터 데이터 전송을 하는데 
                   인터럽트 방식이 사용되기에는 디스크가 데이터를 전송할 때 프로세서 시간의 상당 부분을 사용하게 되므로 오버헤드 크다.
                   메모리와 입출력장치 사이에서 데이터 교환이 CPU의 간섭없이 일어나는 것 
          파일 읽기 시나리오(시스템프로그래밍 강의에서. )
               – 응용프로그램이 OS에 입출력 요청
               – OS의 파일 서비스 프로그램이 디스크 드라이버를 호출
– 디스크 드라이버(프로그램 일종)는 디스크에서 원하는 파일을 DMA를 이용하여 읽어옴. (메모리에 저장)
– 파일읽기 완료를 인터럽트에 의해 CPU에 알림
– 디스크 드라이버(프로그램 일종)는 디스크에서 원하는 파일을 DMA를 이용하여 읽어옴. (메모리에 저장)
– 파일읽기 완료를 인터럽트에 의해 CPU에 알림
          암달의 법칙 : CPU의 계산능력이 늘어난다고 입출력성능을 무시하지 말라.
               전체중 일부의 성능을 개선했다고 해서 전체의 성능이 그 만큼 좋아지지는 않는다는 법칙 
          무어의 법칙 : 디바이스는 18개월마다 성능이 두배씩 좋아진다.
6.9 RAID 
     하드디스크를 여러개를 써서 성능도 높이고 신뢰도도 높이는 시스템     
     RAID 0 : N개의 하드에 데이터를 저장하는 방식
          성능은 높아지지만 신뢰도는 높아지지 않는다. 
     RAID 1 : 미러링사용, 1부터 신뢰도가 올라간다.
          복수의 디스크에 같은 데이터를 저장한다.  
     RAID 2 : ECC(Error Correcting Code)
          너무 복잡하여 실제로 사용되지 않는다.     
          해밍 디스턴스 코드와 비슷한 원리 
     RAID 3 : N+1개의 디스크
          한개의 디스크는 Parity용으로 사용 
     RAID 4 : 디스크 수명이 많이 떨어진다. 
     RAID 5 : RAID4 는 한 디스크에 데이터 블럭 코드를 저장하는 반면 RAID5는 여러 디스크에 나누어서 저장
     건물이 불 날 수도 있으니 지리적으로 떨어진 곳에서도 백업 
728x90
    
    
  '컴퓨터구조' 카테고리의 다른 글
| 컴퓨터 구조 정리 6번째 (0) | 2012.07.13 | 
|---|---|
| 컴퓨터 구조 정리 5번째 (0) | 2012.07.13 | 
| 컴퓨터 구조 정리 4번째 (0) | 2012.07.13 | 
| 컴퓨터 구조 정리 2번째 (0) | 2012.07.13 | 
| 컴퓨터 구조 정리 1번째 (0) | 2012.07.13 | 




