부팅과 현대 운영체제의 이해
이해하기 쉽고, 장황하지 않은 자료를 기반으로 강의를 진행합니다.
잔재미코딩 소식 공유
좀더 제약없이, IT 컨텐츠를 공유하고자, 자체 온라인 강의 사이트와 유투브 채널을
오픈하였습니다
응원해주시면, 곧 좋은 컨텐츠를 만들어서 공유하겠습니다
응원해주시면, 곧 좋은 컨텐츠를 만들어서 공유하겠습니다
● 잔재미코딩 유투브 오픈
[구독해보기]
11. 부팅과 현대 운영체제의 이해¶
Boot¶
- 컴퓨터를 켜서 동작시키는 절차
- Boot 프로그램
- 운영체제 커널을 Storage에서 특정 주소의 물리 메모리로 복사하고 커널의 처음 실행위치로 PC를 가져다 놓는 프로그램
부팅 과정¶
- 컴퓨터를 키면
- BIOS가 특정 Storage 읽어와 bootstrap loader를 메모리에 올리고 실행함
- bootstrap loader 프로그램이 있는 곳을 찾아서 실행시킴
실제 운영체제의 이해¶
- 리눅스 운영체제
- 리눅스 커널(운영체제) + 시스템 프로그램(쉘) + 응용 프로그램
쉘 종류¶
쉘(shell): 사용자와 컴퓨터 하드웨어 또는 운영체제간 인터페이스
- 사용자의 명령을 해석해서, 커널에 명령을 요청해주는 역할
- 관련된 시스템콜을 사용해서 프로그래밍이 작성되어 있다.
쉘 종류
- Bourne-Again Shell (bash) : GNU 프로젝트의 일환으로 개발됨, 리눅스 거의 디폴트임
- Bourne Shell (sh)
- C Shell (csh)
- Korn Shell (ksh) : 유닉스에서 가장 많이 사용됨
안드로이드 스마트폰 (Android)¶
- Linux Kernel + (Shell + Some basic programs) + Andorid Framework
실제 운영체제의 이해¶
- process management
- 응용 프로그램은 여러개의 process로 관리됨
- process scheduler
- process 실행, 종료 관리
- 인터럽트 처리 관리
실제 운영체제의 이해¶
memory management
- 가상 메모리
- page 기반 메모리 관리
- 가상 메모리
IO device management
- VFS(Virtual File Syste)
- file, Device drivers, Network 관리
실제 운영체제의 이해¶
- 시스템 프로그램
- 핵심은 쉘
- bash (Bourne-again shell)
- 내부는 시스템콜을 호출하도록 구현
- 각 프로그래밍 언어
- 필요시 해당 운영체제의 시스템콜 호출
- 핵심은 쉘
가볍게 이해하기: IoT¶
- IoT: 사물인터넷(Internet of Things)
- 각종 사물에 센서와 통신 기능을 내장하여 인터넷에 연결하는 기술
IoT 예 (스마트 온도계)¶
무게 : 7.5g 통신 : 블루투스 LE 스피커 : 피에조 배터리 : CR2032 (약 6개월 사용 가능) 측정온도 : -20도씨에서 60도씨까지, 0.1도 단위 측정범위 : 약 60m 앱 지원 : iOS / 안드로이드 값 : $29 물어 볼 곳 : https://sen.se/store/thermopeanut/ 출처: http://www.iotdanawa.com/archives/8919
IoT 하드웨어 예¶
출처: http://linuxgizmos.com/files/rpi_pi3_detail.jpg
IoT와 운영체제¶
IoT 관련 OS - 초소형 기기의 경우, OS 기능 최소화
TinyOS 예