-사용자와 애플리케이션은 커널과의 인터페이스로 "시스템콜을 사용한다고 했는데 하드웨어와 커널의 인터페이스로는 하드웨어와 커널의 인터페이스로는 드라이버를 사용한다. 운영체제는 많은 종류의 하드웨어를 전부지원해야 하기 때문에 각각에 하드웨어에 맞는 프로그램을 커널이 미리 전부가지고 있기는 힘들다, 그래서 하드웨어를 제작한 회사에서 드라이버를 만들어 제공한다. -보통 키보드나 마우스 같은 간단한 장치들은 커널에 포함되어 있어 컴퓨터에 꽂으면 바로 동작하지만 그래픽카드나 태블렛 같은 복잡한 장치는 디바이스 드라이버를 설치해서 사용한다.
컴퓨터 하드웨어와 구조
폰 노이만 ?
CPU와 메모리를 두고 이들사이는 버스(데이터를 전달하는 통로)로 연결 한다.
프로그램은 메모리에 내장시켜서 실행시키는데 프로그램을 메모리에 내장했다고 해서
프로그램 내장 방식이라고 한다.
메인보드: 장치 간에 데이터를 전송
폰노이만 구조: CPU ,메모리 필수
하드디스크 연결 단자 하드디스크 꽂기
그래픽카드 연결 단자 그래픽카드 꽂기
CPU 구조
:중앙처리 장치
산술논리 연산장치:CPU에서 실제로 데이터 연산을 담당하는 것이 산술논리 연산 장치이다.
제어장치: 모든 장치들의 동작을 지시하고 제어하는 장치이다.
레지스터:CPU내에서 계산을 위해 임시로 보관하는 장치이다.변수와같다.
메모리 종류
RAM: 랜덤으로 데이터를 읽어도 저장된 위치와 상관없이 읽는 속도가 같습니다. RAM은 전력이 끊기면
데이터를 잃어버리기 때문에 메인 메모리로 사용된다.
ROM: 전력이 끊겨도 데이터를 계속 보관할 수 있지만 데이터를 한 번 쓰면 수정이 불가능합니다.그래서 ROM은 컴퓨터의 부팅과 관련된 바이오스를 저장하는데에 주로 쓰입니다.
컴퓨터의 부팅 과정
컴퓨터에 실행을 누르면 ROM에 저장된 바이오스가 실행됩니다.
CPU,RAM,키보드,마우스 ,하드디스크 등 하드웨어에 이상이 없는지 체크합니다.
만약 주요장치에 이상이 있다면 오류음을 내면서 부팅이 이뤄지지않고 이상이없다면 하드디스크에 있는 마스터레코드에 저장된 부트로더를 메모리로 가져와서 실행을 시킨다. 그후 어느 운영체제를 메모리로 불러오고 모니터에 바탕화면이 보이게 된다. 이제 부터 실행되는 모든 응용프로그램은 메모리에 올라와서 운영체제가 관리합니다.
인터럽트
CPU가 입출력 장치에 데이터를 읽거나 쓰려는 상황
-입출력 관리자에게 입출력 명령을 내린다, CPU입장에서는 언제 완료되는지 알수 없기에
계속 입출력 관리자에게 물어보게 된다, 이런 방식을 폴링 방식이라고한다, 이 방식은
CPU가 주기적으로 확인을 해야 하다보니 성능이 좋지 않다는 것이다.
-인터럽트는 폴링 방식의 단점을 해결한 것이다.
CPU가 입출력 관리자에게 명령을 내리고 자기는 다른 작업을 계속하고 입출력 관리자는
작업이 다 되면 CPU에게 알리고 CPU는 인터럽트 서비스 루틴(ISR)을 실행시켜 작업을 완료합니다.