티스토리 뷰

컴퓨터 시스템의 구성

컴퓨터 시스템 동작(Computer-System Operation)

컴퓨터는 여러 장치 제어기(Device Driver)들과 하나 이상의 CPU 공유 메모리 접근하고 서로 메모리 사이클을 얻기 위해 경쟁하며 병행 실행되기도 한다.

 

📌메모리 사이클이란?

컴퓨터가 메모리(ROM, RAM)에 데이터를 읽고 쓰는데 걸리는 시간을 의미한다. 메모리에 데이터를 읽고 쓰는 필요 단계를 말한다.

 

컴퓨터 시스템은 공유 메모리를 공통 버스다수의 장비들을 연결하고 관리한다. 공유 메모리에 대한 질서 있는 접근을 보장하기 위해 메모리 제어기메모리 접근을 동기화한다.

 

 

부팅 프로세스

컴퓨터가 구동하면 실행할 초기 프로그램을 가지고 있어야 한다. 이 초기 프로그램(bootstrap program)은 대부분 매우 단순한 형태로 펌웨어라고 알려진 읽기 전용 메모리(ROM)EEPROM저장된다. (메모리 관련 글 링크)

※ ROM은 일반적으로 메인보드에 내장되어 있다.

 

 

이후 BIOS가 각 펌웨어들일 확인하고 컴퓨터 동작에 필요한 요건이 맞추어져 있는지 확인한다. 부트로더를 통해 RAM 초기화를 진행하고 RAM에 커널 시스템들을 적재하며 커널에서 init 프로세스가 진행된다.

 

📌init 프로세스란?
시스템 초기화 및 실행 가능 상태로 만든다. init 프로세스를 사용하는 프로세스들은 init 프로세스에게 모든 실행 권한을 부여한다.

 

부팅 프로세스

 

 

 

 

 

인터럽트

하드웨어는 어느 순간이든 시스템 버스로 CPU에 인터럽트 사이클을 발생시킬 수 있다. 소프트웨어의 경우 시스템콜이라는 연산으로 인터럽트를 발생할 수 있다. CPU는 인터럽트를 통해 병렬적으로 여러 작업을 진행할 수 있다. (인터럽트에 대한 글은 여기로)

 

 

인터럽트의 구조는 인터럽트된 명령의 주소를 반드시 저장한다. 그리고 스택에 해당 주소를 저장하여 인터럽트 종료 후 원래 작업으로 복귀한다. (똑같지는 않지만 컨텍스트 스위칭을 대충 생각해보면 이해하기 쉬울거다.) 윈도우나 UNIX 계열 운영체제가 이런 방식으로 처리를 한다.

 

인터럽트 요청 → 인터럽트 가능 상태 확인 원본 PC 정보 저장 인터럽트 진행 인터럽트 종료 원본 정보 복구

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함