U E D R , A S I H C RSS

새싹교실/2015/모래부터C까지/4월03일 (rev. 1.3)

새싹교실/2015/모래부터C까지/4월03일



1. 참여자 명단

강사 황현 출석
새싹 이정재 출석
승신 출석
종서 ㅠㅠ

2. 수업

2.1. 진행

1. 장소 : ZP실
2. 시간 : 18시 - 20시

2.2. 내용


  • CPU의 명령 실행 과정: 불러오고 해석하고 실행하는 무한루프
  • 부팅 -> Bootstrapping의 준말 -> Bootstrap: 부츠 끈
    • 부츠 끈을 당겨 발을 끌어올리고 발을 뻗어 위로 올라간 다음 다시 부츠 끈을 당기고...... 무한루프를 돌리면 공중을 날 수 있음! 개이득!!
    • 컴퓨터를 켤 때, 도대체 어떻게 OS를 초기화하는가? 소프트웨어를 돌리려면 OS가 필요한데, 그 OS도 소프트웨어인걸?
      • OS도 소프트웨어인데, 그러면 소프트웨어를 돌리려면 소프트웨어가 필요한 상태? 부츠 끈 당기기랑 비슷한걸! -> Bootstrapping
    • 전원을 인가하면 하드웨어 제조사가 미리 정의한 상태, RESET 상태로 들어간다. 이 상태에서는 몇몇 레지스터는 미리 정의된 값으로 설정됨.
      • 예를 들자면, i8086의 RESET 상태에서는 CS가 0xFFFF, IP가 0x0000이라서 다음 명령 주소는 0xFFFF:0x0000이됨.
        • 참고: CS:IP표기법은 매우 자주 보게 될 것임. 계산은 다음과 같이 한다: Next Instruction = CS << 4 + IP. CS 레지스터 값을 4비트 왼쪽으로 밀고 IP를 더한다. 따라서, 0xFFFF:0x0000 == 0xFFFF0 + 0x0000 == 0xFFFF0.
      • 이 주소는 규격에 의해 BIOS를 가리키게 되어있음. -> BIOS가 부팅을 주관하게 됨.
    • MBR는 아주 중요함 -> BIOS가 MBR을 읽어들여서 거기 들어있는 코드를 실행하기 때문에.
      • 파티션 테이블에 대한 간략한 설명
  • 왜 C에는 main() 함수가 필수적인가?
    • OS가 프로그램을 메모리로 적재한 후 main()으로 점프시키기 때문.
    • void main()이 괜찮다고 하는 애들(ex. 윤X우씨)은 좀 맞아야 함.

2.3. 후기

  • 황현: 허허 튜터가 피곤해서 후기를 안 쓰고 뻗어버렸더니 gg
  • 이정재 : 할짓 없는 튜티가 후기 올릴곳이 없어 먼저 만듭니다. ㅋ 여튼 오늘은 저번에 비해 시간이 늘었네요. cpu 설명을 시작으로 부팅 설명 해 주셨을 땐 이해가 잘 됬습니다. 드디어 다음 시간 부터는 실습인가요. 기대가 됩니다.
  • 유승신 :
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:29:55
Processing time 0.0226 sec