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에 알림

 

          암달의 법칙 : 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
Posted by 정망스
,


맨 위로
홈으로 ▲위로 ▼아래로 ♥댓글쓰기 새로고침