컴퓨터 시스템의 기본 구성
운영체제의 목적 : 유저 프로그램을 구동, 컴퓨터 시스템을 사용하기 쉽게 한다.(GUI등) 하드웨어를 효율적으로 사용할 수 있게 한다.(한정적인 CPU나 메모리 등의 자원들을 효율적이고 공정하게 배분하는 역할)
운영체제의 정의 : " "
커널 + 시스템 프로그래밍
커널 : 컴퓨터에서 항상 실행되고 있는 프로그램
시스템 프로그래밍 : 모든 프로그램을 포함. 시스템 운영과 관련있는 응용프로그램
운영체제의 역할
부트스트랩(Bootstrap, 부팅) : PC의 전원을 누른 직후부터 운영체제가 메모리에서 동작하기 시작할때 까지의 모든 과정
1) 사용자가 PC 전원버튼 누르면 메인보드에 전력이 공급
2) 비휘발성 메모리인 ROM에 저장되어 있는 BIOS루틴(펌웨어)이 시작된다.
3) BIOS가 셀프테스트를 통해 주변 하드웨어를 체크한다. 여기서 문제가 생긴다면 비프음이 발생하거나 블루스크린 발생 하는 등의 일이 발생한다. BIOS가 체크할때가 문제가 생긴다면 OS가 문제라기 보단 하드웨어가 문제일 가능성이 크다.
4) 하드웨어 체크 후 부팅정보가 저장되어 있는 MBR(Master Boot Record) 을 읽음. Master Partition Table이라고도 함
5) 휘발성 메모리인 RAM에 Bootloader를 적재한 후 디스크에 있던 OS(커널)코드를 복사하여 메모리에 적재. 초기화한다.
컴퓨터 시스템 동작 전제
인터럽트
를 발생시켜서 CPU에게 작업 완료를 알림인터럽트 : CPU가 프로그램을 구동중일때, 입출력이나 예외상황이 발생하여 처리가 필요한 경우에 CPU에 신호를 주는 것. 우선순위가 더 높은 작업이 있을때 쟤 먼저 처리해~ 하고 인터럽트를 건다.
인터럽트 발생시 시스템 동작
인터럽트 발생시 CPU는 동작을 중지하고, 인터럽트가 요청한 주소값으로 CPU가 할일 변경. 인터럽트로 인해 중단된 명령어를 기억하고 있다가(PC-Program Counter에 적재) 인터럽트가 종료되면 PC에 있는 중단된 명령어를 다시 수행
패스트 캠퍼스 환급 챌린지 1일차! 완료!
주말 포함하여 매일매일 강의를 듣고 블로그에 글을 써야한다니.. 내가 과연 30일동안 하루도 빠지지 않고 할 수 있을지 벌써부터 걱정이다. 하지만 이런거라도 안하면 강의만 쌓여가고 내 머리에는 쌓이지 않을 것 같아서.. 나머지 29일도 화이팅!!
https://bit.ly/3FVdhDa
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.