Bootstrapping (booting)
- 커널을 적재하여 컴퓨터를 시작하는 절차
Bootstrap loader
- 커널을 찾아서 메모리에 적재하고 수행을 시작하는 일을 하는 ROM에 저장된 코드
- 대개 시스템을 진단(diagnostic)하는 작업을 수행하고, 시스템 전체를 초기화 한 후에 운영체제를 시작시킴
Firmware
- bootstrap 코드의 변경이 가능하도록 ROM 대신 EPROM에 저장함
- 하드웨어와 소프트웨어의 중간 특성을 가져서 firmware라고 부름
- 실행속도가 RAM에서 실행하는 것 보다 느려서 대개 빠른 수행을 위해서 RAM에 복사하여 실행함
운영체제는 대개 디스크에 저장하지만, 일부 시스템은(smartphone, game console등) 운영체제 전체를 firmware(EPROM/flash메모리)에 저장함
시스템 부트 과정
다단계 부팅 과정
1. bootstap loader : reset location in ROM
- 부트 디스크의 boot block을 메모리에 적재 후 시행
2. simple boot code : single block at block 0 of a boot disk(boot disk)
- 나머지 bootstrap 프로그램(full bootstrap program)에 대한 디스크 주소와 길이만 알고 있는 간단한 코드
3. complex boot code (full bootstrap program)
- 파일 시스템을 탐색하여 OS커널을 찾고, 메모리에 적재하여 실행을 시작
- EX) GRUB (Grand Unified Bootloader)
4. operating system kernel
- 운영체제가 커널을 실행하고 프로세스를 시작함
1,2 단계 - 프로그램이 없기떄문에 파일 시스템을 못 읽는다.
3단계 - 파일시스템을 탐색하여 os커널을 찾고 메모리에 적제 한다.
UEFI (Unified Extensible Firmware Interface)
- BIOS를 대체할 목적으로 개발됨
- 파일 시스템을 지원하여 boot sector에 의존없이 OS 커널 부팅 가능
3.2 프로세스 스케줄링 (0) | 2020.04.17 |
---|---|
3.1 프로세스 개념 (0) | 2020.04.17 |
2.9 운영체제 생성 (0) | 2020.04.17 |
2.8 운영체제 디버깅 (0) | 2020.04.17 |
2.7 운영체제 구조 (0) | 2020.04.17 |
댓글 영역