[CS] 휴먼 인터페이스 장치

jableee·2022년 2월 11일
0

컴퓨터는 대부분의 시간을 컴퓨터끼리 메세지를 주고받는데 사용하고, 가끔 다른사람에게 이야기한다. 이번 절에서는 컴퓨터가 사람과 상호작용하는 방법을 본다.

터미널

얼마 전까지 만해도 현재 사용중인 키보드, 마우스, 디스플레이나 터치스크린은 상상하기 힘든 물건들이었다.

종이에 특별히 정해진 코딩양식으로 데이터나 프로그램을 기록해야만 컴퓨터와 의사소통할 수 있었던 시절이 있었다. 이런 코딩 양식은 누군가에게 가져가면 이 사람은 '키펀치'를 사용해 양식을 펀치카드 뭉치로 만들어 줬다. 이 카드뭉치를 컴퓨터 오퍼레이터에게 건네면 오퍼레이터는 카드 뭉치를 카드 리더에 넣어 컴퓨터가 읽게 해서 프로그램을 실행했다. 이런 방식을 '배치 프로세싱' 이라고 한다.

컴퓨터가 점점 빨라지고 작아지면서(자동차정도의 크기) 사람들이 컴퓨터를 '텔레타이프'에 연결하기 시작했다. 텔레타이프는 선의 끝에 연결됐기 때문에 '터미널'이라고 불렸다. 아주 유명한 터미널 모델인 ASR-33은 키보드, 프린터, 종이테이프 펀티, 종이 테이프 리더로 이루어졌다. 이 당시에 초당 10문자를 입력할수 있었다.

이후에 더 빠르게 컴퓨터를 돌리기 위해 '시분할'이 발명됐다. 컴퓨터에 각 방이 있다면 내가 사용할 시 방을 빌려서 사용하고 사용하지 않으면 다른사람이 사용하는 방식이다.
시분할 시스템에는 컴퓨터에서 실행되는 '운영체제'라는 프로그램이 있다. 운영체제는 호텔 예약 담당자 같은 일을 한다. 운영체제는 컴퓨터의 여러 자원을 각 사용자에게 배정해 준다. 내가 쓸차례가 되면 다른사람의 프로그램은 디스크로 스왑 아웃되며, 나의 프로그램은 디스크에서 메모리로 옮겨져 스왑 인 되어 잠시동안 실행된다. 이게 빠르게 되면 여러 사용자가 동시에 컴퓨터를 사용중이라고 느낀다. 그러나 사람이 많아지면 프로그램 스왑인/아웃에서 딜레이가 길어져 사용시간보다 대기시간이 많아지는 '스레싱'이라는 현상이 일어난다.

시분할 시스템은 컴퓨터가 한번에 하나 이상의 작업을 실행하는 것 같은 착각을 불러일으키기 때문에 '멀티태스킹' 시스템이다. 많은 터미널이 텀퓨터에 연결되기 시작해서, 컴퓨터가 어떤 작업이 어떤 사람에게 속했는지 구분하기 위해 '사용자'라는 개념이 생겨 났다.

그래픽 터미널

속도, 신회성, 소음등의 이유로 하드 카피 터미널에서 멀어져야할 이유가 많았다. 당시에도 레이더나 텔레비전등 스크린은 존재했다. '음극선관'이라는 진공관의 변형으로 CRT라는 그래픽 터미덜이 생겨 났다.

이런 디스플레이는 '정전 편향'이나 '전자 편향' 두 방식으로 작동했다.
정전 편향은 편향판 버전이 정전기 현상과 같은 원리인 것이고, 전자 편향은 전자기를 사용한 버전이다.
두 경우 모두 비트를 전압으로 변환해야 하기 때문에 디스플레이도 D/A 회로를 활용한 또 다른 예라고 볼 수 있다.

오늘날 CRT는 대부분 LCD(액정 디스플레이)에 대치되고 유물로 남았다. 액정은 전기를 가하면 빛을 통과시키는 성질이 바뀌는 물질이다. 각 점마다 빨강,초록,파랑 필터 뒤에서 빛을 비추는 광원으로 구성된 점에서 CRT와 비슷하다.

벡터 그래픽

CRT는 그래프를 그릴 수 있는 모눈종이처럼 작동한다. 우리가 보는 화면이 x축y축 전압에 따라 어떤 지점으로 이동하고, y축 전압에따라 밝기가 달라진다. 원래는 색을 지원하지 않아 흑백이나 그레이스케일 디스플레이였다.
인치당 표시할수 있는 좌표위치의 개수가 해상도이다.

벡터 그래픽은 이리저리 선을 그려서 그림을 만들어 낸다. 화면상 이미지를 유지하기 위해서는 그림의 시작점부터 끝나는 부분까지 지속적으로 반복하며, 중간과정중에는 지속성(잔상효과라고 이해하면 쉬움)으로 인해 화면에 그림이 표시된 상태가 유지된다.

이는 화면에 표시된 그림이 없을때는 플리커(깜빡거림)현상이 적지만 표시할 그림이 많아지면 주파수의 영향으로 딜레이사 생겨 플리커가 생긴다.

래스터 그래픽

래스터 그래픽은 벡터와 다른 접근 방법이다. 래스터는 화면의 왼쪽위에서 출발해 그후 '수평 리트레이스'를 통해 다음 줄의 위치로 이동하고 마지막 줄을 그린 후 '수직 리트레이스'를 통해 시작점으로 돌아간다.

래스터에서는 언더샘플링과 에일리어싱이 발생한다. 이 문제는 컴퓨터에서는 계산능력이 충분하여 슈퍼샘플링 같은 기법으로 '안티 에일리어싱'을 흔히 적용한다.

래스터 스캔을 팩스, 레이저 프린터, 스캐너 등에도 사용한다.

모노크롬 디스플레이는 래스터의 각 위치를 1비트로 표현하는 메모리로 사용하고 그래이스케일로 밝기를 256단계로 표현할수 있는 래스터 디스플레이는 각 래스터 지점마다 8비트가 필요하다. 그리고 거기에 컬러를 위해 각 지점마다 3가지색상을 맞추면 3배의 메모리가 필요하게 된다.

키보드와 마우스

키보드는 단지 여러 스위치와 논리 회로를 묶은 것뿐인 단순한 개념이다.

현재 사용하는 마우스는 x,y 좌표를 담당하는 2개의 쿼드러처 인코더를 사용하면서 마우스를 만들수 있게 되었다.

터치패드와 터치스크린은 터치스크린은 화면이 추명해야 볼수 있다는 차이만 있고 입력에서는 행 스캐닝과 열 스캐닝을 미세하게 스캔하는 장치이다.

profile
개발 공부

0개의 댓글