운영체제 1장 200812065 이성연
운영체제 정의 역할 하드웨어를 사용할 수 있게 하기 위해 소프트웨어나 펌웨어로 작성된 프로그램 더 높은 성능을 발휘할 수 있도록 하드웨어를 관리하기도 함 60년대 : 하드웨어를 제어하는 소프트웨어로만 생각 80년대 : 소프트웨어를 펌웨어 즉 마이크로 코드로 전환 역할 사용자와의 인터페이스 정의 하드웨어의 공동사용 데이터 공유 자원 스케줄링 입출력 보조역할 에러처리
운영체제의 발달 1세대 (50년대) 2세대 (60년대) 3세대 (60년대 후반~70년대 중반) 4세대 (70년대 후반~현재) 작업들 간의 전이를 원활히 하도록 설계됨 일괄처리 시스템의 효시 2세대 (60년대) 분할 시스템, 다중 프로그래밍, 다중처리의 개발 다중 프로그래밍 시스템 : 여러 사용자 프로그램들이 동시에 주기억장치에 공존하며 작업들 간에 번갈아 프로세서가 할애 다중처리 시스템 : 시스템의 처리 능력을 증진시키기 위하여 한 컴퓨터 시스템에 여러 개의 프로세서들이 사용 3세대 (60년대 후반~70년대 중반) 다중모드 시스템 일괄처리, 시분할 처리, 실시간 처리, 다중처리들을 모두 제공 4세대 (70년대 후반~현재) 마이크로프로세서의 등장 : 개인용 컴퓨터의 개발을 촉진 정보의 누설로 인한 정보 암호화
하드웨어 컴퓨터 시스템의 각종 기기들로 구성 프로세서, 기억장치, 입출력 장치, 접속 기기들로 이루어짐 메모리 인터리빙 주기억 장치를 엑세스하는 속도를 빠르게 하는데 사용 인접한 메모리 위치를 서로 다른 뱅크에 둠으로써 동시에 여러 곳을 액세스할 수 있게 하는 것 재배치 레지스터 수행중인 프로그램을 다른 곳으로 옮길 수 있도록 함 폴링 별도의 기능을 수행하는 장치의 상태를 검사하는 방법
하드웨어 인터럽트 버퍼링 입출력 채널 어떤 장치가 다른 장치의 일을 잠시 중단시키고 자신의 상태변화를 알려 주는 것 버퍼란 입출력이 일어나는 동안 그 데이터를 저장하는 주기억장치의 일부분 플립플롭 버퍼링 입출력 채널 입출력이 일어나는 동안 프로세서가 다른 일을 하지 못하는 점을 극복하는 방법으로써 개발된 특수 목적 컴퓨터 시스템
하드웨어 선택 채널 멀티플렉서 채널 사이클 스틸링 한 개의 보조 채널만을 갖고 있고 한 순간에 단 한 개의 주변기기만을 서비스 할 수 있음 멀티플렉서 채널 여러 개의 보조 채널을 갖고 있고 한꺼번에 여러 개의 데이터 열을 인터리빙 할 수 있음 사이클 스틸링 채널과 프로세서가 동시에 주기억장치를 액세스 하려고 할때 채널에 우선순위를 높게 주는데 이때 채널이 주기억장치를 액세스하는 동안에 프로세서는 주기억장치를 사용하지 못하고 잠시 쉬어야 함 채널은 적은 양의 사이클을 필요로 하므로 채널에게 우선순위를 높여주면 입출력 장치의 효율이 높아짐
하드웨어 DMA채널 페이징기법과 세그먼트기법 파이프라인 입출력 량이 아주 많은 대형 시스템에 많이 사용 입출력 장치를 운영하고 사이클 스틸링을 맡아서 처리하는 곳 페이징기법과 세그먼트기법 파이프라인 시스템의 효율을 높이기 위해 명령문을 수행하면서 몇가지의 특수한 작업들을 병렬처리 하도록 설계한 하드웨어
소프트웨어 주어진 문제를 해결하기 위한 알고리즘을 하드웨어에 정의해 주는 명령문과 데이터를 가진 프로그램들로 이루어짐 기계어 : 컴퓨터가 직접 이해할 수 있는 언어 하드웨어에 의해 판독되어 주어진 기능 수행 컴퓨터 기종에 따라 다르게 설계되어 있는데 이를 기계 종속성이라 함
소프트웨어 어셈블리어 : 기계어를 의미 있는 기호로써 대치한 것 고급언어 기계 종속성 문제로 개발됨 프로그래머는 컴퓨터의 기종에 관계없이 프로그램을 작성할 수 있음 컴파일러 : 기계어로 번역해주는 소프트웨어 입력프로그램은 원시프로그램 출력프로그램은 목적 프로그램
소프트웨어 입출력 관리 시스템 스풀링 인터프리터 일반 사용자들로 하여금 입출력을 간단히 하기 위해 개발한 관리프로그램 프로그램이 프로세서에 의해 수행되는 속도와 프린터에서 결과를 프린트하는 속도의 차이를 해결하여 시스템의 효율을 높이는 방법의 하나 디스크에 입출력 할 자료를 임시로 보관 인터프리터 원시 프로그램을 한 문장씩 직접 실행시킴
컴퓨터의 종류 자료 처리 방법에 의한 분류 디지털 컴퓨터 : 수치적으로 코드화하여 필요한 정보를 산출하는 방식 모든 자료는 두 가지 상태(0 또는 1)를 나타내는 형태로 표현되고 연산 처리 됨 일반적인 컴퓨터 아날로그 컴퓨터 : 연속적인 변량을 사용하여 필요한 정보를 산출하는 방식 측정 정치로부터 자료의 변환 없이 직접 입력 가능 자료의 발생 시점에서 고속으로 자료를 모으거나, 즉시 그 결과를 얻을 수 있으므로 공장의 공정제어 등에 이용 하이브리드 컴퓨터 : 디지털 컴퓨터의 장점과 아날로그 컴퓨터의 장점을 따서 만든 컴퓨터 ex) 택시 요금 계산기
컴퓨터의 종류 사용 용도에 의한 분류 컴퓨터 성능에 의한 분류 특수용 또는 전용 컴퓨터 : 특정한 문제를 해결하기 위해 설계, 제작된 컴퓨터 범용 컴퓨터 : 광범위한 분야에 걸친 문제들의 해결을 위해 설계되어 제작된 컴퓨터 개인용 컴퓨터 : 가격이 저렴하고 크기가 작으며 사용하기 간편함 8비트 컴퓨터(Apple), 16비트 컴퓨터(8088(XT)), 32비트 컴퓨터(80386,80486), 64비트 컴퓨터(Pentium I~IV) 컴퓨터 성능에 의한 분류 개인용 컴퓨터 : 데스크 탑, 랩톱, 노트북, 팜톱, PDA 워크스테이션 : 네트워크에 연결하여 서버로 사용 미니컴퓨터 : 중형 컴퓨터 대형 컴퓨터 : 메인 프레임 컴퓨터 슈퍼컴퓨터 : 우주 및 항공, 기상예보, 유전자 해독 등에 사용