SlideShare a Scribd company logo
1 of 28
ⓒ NAVER Connect Foundation
OS 그냥 재미로
- OS 개발과 보통 개발의 차이 -
2022.10.20
작성자 : 임현택
ⓒ NAVER Connect Foundation
- 부팅
- 메모리
- 프로세스
- 화면출력
ⓒ NAVER Connect Foundation 3
영화 her https://www.youtube.com/watch?v=NHA69lCd1ZM
ⓒ NAVER Connect Foundation
그냥 재미로
Q:운영체제개발해서어디쓰나요?
A:쓸모없어요
Q:???
ⓒ NAVER Connect Foundation 5
http://www.yes24.com/Product/Goods/197293
ⓒ NAVER Connect Foundation 6
https://ko.wikipedia.org/wiki/리처드_파인만
https://ko.wikiquote.org/wiki/리처드_파인만
내가 만들어낼 수 없다면,
난 그것을 이해하지 못한 것이다.
ⓒ NAVER Connect Foundation 7
Q : OS는 어떻게 만드나요?
알고리즘말고!
ⓒ NAVER Connect Foundation 8
bootloader, OS
binary(컴파일결과)
ⓒ NAVER Connect Foundation 9
01000010 01001101 01110010 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00110110 00000000 00000000 00000000 00101000 00000000
00000000 00000000 00000110 00000000 00000000 00000000 00000011 00000000
00000000 00000000 00000001 00000000 00011000 00000000 00000000 00000000
00000000 00000000 00111100 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00001010 01101001
01101110 01110100 00000000 01101101 01100001 01101001 01101110 00101000
00101001 01111011 00001010 00000000 00000000 00000000 00000000 01110000
00000000 00000000 01110010 01101001 01101110 01110100 01100110 00101000
00100010 01100010 01101111 01101111 01110011 01110100 01100011 01100001
01101101 01110000 00100010 00101001 00000000 00000000 00111011 00001010
00000000 00000000 00000000 00000000 01110010 01100101 01110100 01110101
01110010 01101110 00000000 00110000 00111011 00001010 01111101 00000000
00000000 00000000
ⓒ NAVER Connect Foundation 10
int main(){
printf("boostcamp");
return 0;
}
ⓒ NAVER Connect Foundation
Bootstrapping
더블클릭
ⓒ NAVER Connect Foundation 12
RAM
0x00000
0xFFFF
F
HDD
bootloader
OS
ⓒ NAVER Connect Foundation 13
OS
bootloader
RAM
0x00000
0xFFFF
F
0x07C00
0x07DFF
HDD
bootloader
OS
ⓒ NAVER Connect Foundation 14
OS
bootloader
RAM
0x00000
0xFFFF
F
0x07C00
0x07DFF
HDD
bootloader
OS
ⓒ NAVER Connect Foundation 15
https://en.wikipedia.org/wiki/GNU_GRUB
ⓒ NAVER Connect Foundation 16
하드디스크 1섹터(512byte) 읽기
CPU register 설정
AH = 0x02
AL = 0x01
CH = 0x00
CL = 0x02
…
인터럽트 실행
INT 0x13
ⓒ NAVER Connect Foundation
OS의 메모리 관리
new,malloc
ⓒ NAVER Connect Foundation 18
RAM Info
RAM
0xC0000
Mem mem = (*Mem) 0xC0000
ⓒ NAVER Connect Foundation
프로세스 스케줄링
타이머
ⓒ NAVER Connect Foundation 20
타이머 인터럽트
주기적으로인터럽트를발생시키는CPU이외의칩
ⓒ NAVER Connect Foundation 21
HLT : CPU 사용률 100% ?
인터럽트를대기하는명령HLT
ⓒ NAVER Connect Foundation
화면 출력
printf?
ⓒ NAVER Connect Foundation 23
display(screen) ?
모니터프레임마다매번출력해야하는가?
ⓒ NAVER Connect Foundation 24
RAM
0xA0000
0xAFFFF
int i;
char *p;
for(i=0xa0000; i<=0xaffff; i++){
p = (char*) i;
*p = 0x0f;
}
VRAM
ⓒ NAVER Connect Foundation 25
00000000
00011000
00011000
00011000
00100100
00100100
00100100
00100100
01111110
01000010
01000010
01000010
11100111
00000000
00000000
A
ⓒ NAVER Connect Foundation 26
https://windowsforum.kr/free/1934314
ⓒ NAVER Connect Foundation 27
http://www.yes24.com/Product/Goods/2508562
ⓒ NAVER Connect Foundation
End of Document
Thank You.

More Related Content

Similar to OS 개발과 보통 개발의 차이

How to Create a Windows Server 2008 Virtual Lab Using VirtualBox
How to Create a Windows Server 2008 Virtual Lab Using VirtualBoxHow to Create a Windows Server 2008 Virtual Lab Using VirtualBox
How to Create a Windows Server 2008 Virtual Lab Using VirtualBoxRusty Painter
 
2020-ntn-vsphere_performance_principles_bondzio.pdf
2020-ntn-vsphere_performance_principles_bondzio.pdf2020-ntn-vsphere_performance_principles_bondzio.pdf
2020-ntn-vsphere_performance_principles_bondzio.pdfPhmNgcTr3
 
C5 Instances and the Evolution of Amazon EC2 Virtualization - CMP332 - re:Inv...
C5 Instances and the Evolution of Amazon EC2 Virtualization - CMP332 - re:Inv...C5 Instances and the Evolution of Amazon EC2 Virtualization - CMP332 - re:Inv...
C5 Instances and the Evolution of Amazon EC2 Virtualization - CMP332 - re:Inv...Amazon Web Services
 
Intoduction to VirtualBox English
Intoduction to VirtualBox EnglishIntoduction to VirtualBox English
Intoduction to VirtualBox EnglishKichiemon Adachi
 
BOOTABLE OPERATING SYSTEM PPT
BOOTABLE OPERATING SYSTEM PPTBOOTABLE OPERATING SYSTEM PPT
BOOTABLE OPERATING SYSTEM PPTShahzeb Pirzada
 
Computer Hardware & Software Lab Manual 9
Computer Hardware & Software Lab Manual 9Computer Hardware & Software Lab Manual 9
Computer Hardware & Software Lab Manual 9senayteklay
 
Modern Web Application Development Workflow - EclipseCon Europe 2014
Modern Web Application Development Workflow - EclipseCon Europe 2014Modern Web Application Development Workflow - EclipseCon Europe 2014
Modern Web Application Development Workflow - EclipseCon Europe 2014Stéphane Bégaudeau
 
Deep Dive on New Amazon EC2 Instances and Virtualization Technologies - AWS O...
Deep Dive on New Amazon EC2 Instances and Virtualization Technologies - AWS O...Deep Dive on New Amazon EC2 Instances and Virtualization Technologies - AWS O...
Deep Dive on New Amazon EC2 Instances and Virtualization Technologies - AWS O...Amazon Web Services
 
514412 windows-7-installation-guide-tutorial.html-780931481
514412 windows-7-installation-guide-tutorial.html-780931481514412 windows-7-installation-guide-tutorial.html-780931481
514412 windows-7-installation-guide-tutorial.html-780931481Vishva Nath
 
Webconf nodejs-production-architecture
Webconf nodejs-production-architectureWebconf nodejs-production-architecture
Webconf nodejs-production-architectureBen Lin
 
How to use the command prompt to fix issues with your pc's boot records dig...
How to use the command prompt to fix issues with your pc's boot records   dig...How to use the command prompt to fix issues with your pc's boot records   dig...
How to use the command prompt to fix issues with your pc's boot records dig...vipin473
 
Running virtual box from the linux command line
Running virtual box from the linux command lineRunning virtual box from the linux command line
Running virtual box from the linux command lineEric Javier Espino Man
 
Getting started with open mobile development on the Openmoko platform
Getting started with open mobile development on the Openmoko platformGetting started with open mobile development on the Openmoko platform
Getting started with open mobile development on the Openmoko platformJean-Michel Bouffard
 
Es xi 07-create-virtual-machine
Es xi 07-create-virtual-machineEs xi 07-create-virtual-machine
Es xi 07-create-virtual-machinedzar123456
 
Java Web Start czyli jak żyć z tą dziwną technologią & Continuous Delivery w ...
Java Web Start czyli jak żyć z tą dziwną technologią & Continuous Delivery w ...Java Web Start czyli jak żyć z tą dziwną technologią & Continuous Delivery w ...
Java Web Start czyli jak żyć z tą dziwną technologią & Continuous Delivery w ...MarcinStachniuk
 

Similar to OS 개발과 보통 개발의 차이 (20)

How to Create a Windows Server 2008 Virtual Lab Using VirtualBox
How to Create a Windows Server 2008 Virtual Lab Using VirtualBoxHow to Create a Windows Server 2008 Virtual Lab Using VirtualBox
How to Create a Windows Server 2008 Virtual Lab Using VirtualBox
 
2020-ntn-vsphere_performance_principles_bondzio.pdf
2020-ntn-vsphere_performance_principles_bondzio.pdf2020-ntn-vsphere_performance_principles_bondzio.pdf
2020-ntn-vsphere_performance_principles_bondzio.pdf
 
Membuat Virtual Networking
Membuat Virtual NetworkingMembuat Virtual Networking
Membuat Virtual Networking
 
C5 Instances and the Evolution of Amazon EC2 Virtualization - CMP332 - re:Inv...
C5 Instances and the Evolution of Amazon EC2 Virtualization - CMP332 - re:Inv...C5 Instances and the Evolution of Amazon EC2 Virtualization - CMP332 - re:Inv...
C5 Instances and the Evolution of Amazon EC2 Virtualization - CMP332 - re:Inv...
 
Intoduction to VirtualBox English
Intoduction to VirtualBox EnglishIntoduction to VirtualBox English
Intoduction to VirtualBox English
 
BOOTABLE OPERATING SYSTEM PPT
BOOTABLE OPERATING SYSTEM PPTBOOTABLE OPERATING SYSTEM PPT
BOOTABLE OPERATING SYSTEM PPT
 
boot from lan
boot from lanboot from lan
boot from lan
 
Computer Hardware & Software Lab Manual 9
Computer Hardware & Software Lab Manual 9Computer Hardware & Software Lab Manual 9
Computer Hardware & Software Lab Manual 9
 
Download quick start
Download quick startDownload quick start
Download quick start
 
Oracle vm
Oracle vmOracle vm
Oracle vm
 
OpenSolaris 2009.06 Workshop
OpenSolaris 2009.06 WorkshopOpenSolaris 2009.06 Workshop
OpenSolaris 2009.06 Workshop
 
Modern Web Application Development Workflow - EclipseCon Europe 2014
Modern Web Application Development Workflow - EclipseCon Europe 2014Modern Web Application Development Workflow - EclipseCon Europe 2014
Modern Web Application Development Workflow - EclipseCon Europe 2014
 
Deep Dive on New Amazon EC2 Instances and Virtualization Technologies - AWS O...
Deep Dive on New Amazon EC2 Instances and Virtualization Technologies - AWS O...Deep Dive on New Amazon EC2 Instances and Virtualization Technologies - AWS O...
Deep Dive on New Amazon EC2 Instances and Virtualization Technologies - AWS O...
 
514412 windows-7-installation-guide-tutorial.html-780931481
514412 windows-7-installation-guide-tutorial.html-780931481514412 windows-7-installation-guide-tutorial.html-780931481
514412 windows-7-installation-guide-tutorial.html-780931481
 
Webconf nodejs-production-architecture
Webconf nodejs-production-architectureWebconf nodejs-production-architecture
Webconf nodejs-production-architecture
 
How to use the command prompt to fix issues with your pc's boot records dig...
How to use the command prompt to fix issues with your pc's boot records   dig...How to use the command prompt to fix issues with your pc's boot records   dig...
How to use the command prompt to fix issues with your pc's boot records dig...
 
Running virtual box from the linux command line
Running virtual box from the linux command lineRunning virtual box from the linux command line
Running virtual box from the linux command line
 
Getting started with open mobile development on the Openmoko platform
Getting started with open mobile development on the Openmoko platformGetting started with open mobile development on the Openmoko platform
Getting started with open mobile development on the Openmoko platform
 
Es xi 07-create-virtual-machine
Es xi 07-create-virtual-machineEs xi 07-create-virtual-machine
Es xi 07-create-virtual-machine
 
Java Web Start czyli jak żyć z tą dziwną technologią & Continuous Delivery w ...
Java Web Start czyli jak żyć z tą dziwną technologią & Continuous Delivery w ...Java Web Start czyli jak żyć z tą dziwną technologią & Continuous Delivery w ...
Java Web Start czyli jak żyć z tą dziwną technologią & Continuous Delivery w ...
 

More from CONNECT FOUNDATION

부스트캠프 웹・모바일 8기 설명회 (2023년)
부스트캠프 웹・모바일 8기 설명회 (2023년)부스트캠프 웹・모바일 8기 설명회 (2023년)
부스트캠프 웹・모바일 8기 설명회 (2023년)CONNECT FOUNDATION
 
[부스트캠프 웹・모바일 7기 Tech Talk]이지훈_뉴비의 시점에서 바라본 Kotlin_suspend
[부스트캠프 웹・모바일 7기 Tech Talk]이지훈_뉴비의 시점에서 바라본 Kotlin_suspend[부스트캠프 웹・모바일 7기 Tech Talk]이지훈_뉴비의 시점에서 바라본 Kotlin_suspend
[부스트캠프 웹・모바일 7기 Tech Talk]이지훈_뉴비의 시점에서 바라본 Kotlin_suspendCONNECT FOUNDATION
 
[부스트캠프 웹・모바일 7기 Tech Talk]오승민_Swift의 Protocol에는 감동이 있다
[부스트캠프 웹・모바일 7기 Tech Talk]오승민_Swift의 Protocol에는 감동이 있다[부스트캠프 웹・모바일 7기 Tech Talk]오승민_Swift의 Protocol에는 감동이 있다
[부스트캠프 웹・모바일 7기 Tech Talk]오승민_Swift의 Protocol에는 감동이 있다CONNECT FOUNDATION
 
[부스트캠프 웹・모바일 7기 Tech Talk]안병준_프론트엔드,어쩌다 여기까지
[부스트캠프 웹・모바일 7기 Tech Talk]안병준_프론트엔드,어쩌다 여기까지[부스트캠프 웹・모바일 7기 Tech Talk]안병준_프론트엔드,어쩌다 여기까지
[부스트캠프 웹・모바일 7기 Tech Talk]안병준_프론트엔드,어쩌다 여기까지CONNECT FOUNDATION
 
[부스트캠프 웹・모바일 7기 Tech Talk]이휘찬-의존성 관리 어디까지 알고있니
[부스트캠프 웹・모바일 7기 Tech Talk]이휘찬-의존성 관리 어디까지 알고있니[부스트캠프 웹・모바일 7기 Tech Talk]이휘찬-의존성 관리 어디까지 알고있니
[부스트캠프 웹・모바일 7기 Tech Talk]이휘찬-의존성 관리 어디까지 알고있니CONNECT FOUNDATION
 
[부스트캠프 웹・모바일 7기 Tech Talk]박명범_RecyclerView는 어떻게 재활용하는가
[부스트캠프 웹・모바일 7기 Tech Talk]박명범_RecyclerView는  어떻게  재활용하는가[부스트캠프 웹・모바일 7기 Tech Talk]박명범_RecyclerView는  어떻게  재활용하는가
[부스트캠프 웹・모바일 7기 Tech Talk]박명범_RecyclerView는 어떻게 재활용하는가CONNECT FOUNDATION
 
[부스트캠프 웹・모바일 7기 Tech Talk]김지원_너와 나의 함수형 프로그래밍
[부스트캠프 웹・모바일 7기 Tech Talk]김지원_너와 나의 함수형 프로그래밍[부스트캠프 웹・모바일 7기 Tech Talk]김지원_너와 나의 함수형 프로그래밍
[부스트캠프 웹・모바일 7기 Tech Talk]김지원_너와 나의 함수형 프로그래밍CONNECT FOUNDATION
 
[부스트캠프 웹・모바일 7기 Tech Talk]김성은_Recoil
[부스트캠프 웹・모바일 7기 Tech Talk]김성은_Recoil[부스트캠프 웹・모바일 7기 Tech Talk]김성은_Recoil
[부스트캠프 웹・모바일 7기 Tech Talk]김성은_RecoilCONNECT FOUNDATION
 
[부스트캠프 웹・모바일 7기 Tech Talk]고병학_WWDC 뭘 볼까
[부스트캠프 웹・모바일 7기 Tech Talk]고병학_WWDC 뭘 볼까[부스트캠프 웹・모바일 7기 Tech Talk]고병학_WWDC 뭘 볼까
[부스트캠프 웹・모바일 7기 Tech Talk]고병학_WWDC 뭘 볼까CONNECT FOUNDATION
 
[특강] 개발자의 학습과 성장 / 이선협 (Cobalt, Inc.)
[특강] 개발자의 학습과 성장 / 이선협 (Cobalt, Inc.)[특강] 개발자의 학습과 성장 / 이선협 (Cobalt, Inc.)
[특강] 개발자의 학습과 성장 / 이선협 (Cobalt, Inc.)CONNECT FOUNDATION
 
[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노수진(Momenti)
 [특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노수진(Momenti) [특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노수진(Momenti)
[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노수진(Momenti)CONNECT FOUNDATION
 
[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노현석(카카오뱅크)
[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노현석(카카오뱅크)[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노현석(카카오뱅크)
[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노현석(카카오뱅크)CONNECT FOUNDATION
 
부스트캠프 웹∙모바일 7기 설명회
부스트캠프 웹∙모바일 7기 설명회부스트캠프 웹∙모바일 7기 설명회
부스트캠프 웹∙모바일 7기 설명회CONNECT FOUNDATION
 
[부스트캠프 Tech Talk] 배지연_Structure of Model and Task
[부스트캠프 Tech Talk] 배지연_Structure of Model and Task[부스트캠프 Tech Talk] 배지연_Structure of Model and Task
[부스트캠프 Tech Talk] 배지연_Structure of Model and TaskCONNECT FOUNDATION
 
[부스트캠프 Tech Talk] 신원지_Wandb Visualization
[부스트캠프 Tech Talk] 신원지_Wandb Visualization[부스트캠프 Tech Talk] 신원지_Wandb Visualization
[부스트캠프 Tech Talk] 신원지_Wandb VisualizationCONNECT FOUNDATION
 
[부스트캠프 Tech Talk] 김제우_짝코딩(Pair Programming)
[부스트캠프 Tech Talk] 김제우_짝코딩(Pair Programming)[부스트캠프 Tech Talk] 김제우_짝코딩(Pair Programming)
[부스트캠프 Tech Talk] 김제우_짝코딩(Pair Programming)CONNECT FOUNDATION
 
[부스트캠프 Tech Talk] 김동현_리팩터링을 통한 내실 다지기
[부스트캠프 Tech Talk] 김동현_리팩터링을 통한 내실 다지기[부스트캠프 Tech Talk] 김동현_리팩터링을 통한 내실 다지기
[부스트캠프 Tech Talk] 김동현_리팩터링을 통한 내실 다지기CONNECT FOUNDATION
 
[부스트캠프 Tech Talk] 진명훈_datasets로 협업하기
[부스트캠프 Tech Talk] 진명훈_datasets로 협업하기[부스트캠프 Tech Talk] 진명훈_datasets로 협업하기
[부스트캠프 Tech Talk] 진명훈_datasets로 협업하기CONNECT FOUNDATION
 
[부스트캠프 Tech Talk] 안영진_Tackling Complexity with Easy Stuff
[부스트캠프 Tech Talk] 안영진_Tackling Complexity with Easy Stuff[부스트캠프 Tech Talk] 안영진_Tackling Complexity with Easy Stuff
[부스트캠프 Tech Talk] 안영진_Tackling Complexity with Easy StuffCONNECT FOUNDATION
 
[부스트캠프 Tech talk] 황우진 딥러닝 가볍게 구현해보기
[부스트캠프 Tech talk] 황우진  딥러닝 가볍게 구현해보기[부스트캠프 Tech talk] 황우진  딥러닝 가볍게 구현해보기
[부스트캠프 Tech talk] 황우진 딥러닝 가볍게 구현해보기CONNECT FOUNDATION
 

More from CONNECT FOUNDATION (20)

부스트캠프 웹・모바일 8기 설명회 (2023년)
부스트캠프 웹・모바일 8기 설명회 (2023년)부스트캠프 웹・모바일 8기 설명회 (2023년)
부스트캠프 웹・모바일 8기 설명회 (2023년)
 
[부스트캠프 웹・모바일 7기 Tech Talk]이지훈_뉴비의 시점에서 바라본 Kotlin_suspend
[부스트캠프 웹・모바일 7기 Tech Talk]이지훈_뉴비의 시점에서 바라본 Kotlin_suspend[부스트캠프 웹・모바일 7기 Tech Talk]이지훈_뉴비의 시점에서 바라본 Kotlin_suspend
[부스트캠프 웹・모바일 7기 Tech Talk]이지훈_뉴비의 시점에서 바라본 Kotlin_suspend
 
[부스트캠프 웹・모바일 7기 Tech Talk]오승민_Swift의 Protocol에는 감동이 있다
[부스트캠프 웹・모바일 7기 Tech Talk]오승민_Swift의 Protocol에는 감동이 있다[부스트캠프 웹・모바일 7기 Tech Talk]오승민_Swift의 Protocol에는 감동이 있다
[부스트캠프 웹・모바일 7기 Tech Talk]오승민_Swift의 Protocol에는 감동이 있다
 
[부스트캠프 웹・모바일 7기 Tech Talk]안병준_프론트엔드,어쩌다 여기까지
[부스트캠프 웹・모바일 7기 Tech Talk]안병준_프론트엔드,어쩌다 여기까지[부스트캠프 웹・모바일 7기 Tech Talk]안병준_프론트엔드,어쩌다 여기까지
[부스트캠프 웹・모바일 7기 Tech Talk]안병준_프론트엔드,어쩌다 여기까지
 
[부스트캠프 웹・모바일 7기 Tech Talk]이휘찬-의존성 관리 어디까지 알고있니
[부스트캠프 웹・모바일 7기 Tech Talk]이휘찬-의존성 관리 어디까지 알고있니[부스트캠프 웹・모바일 7기 Tech Talk]이휘찬-의존성 관리 어디까지 알고있니
[부스트캠프 웹・모바일 7기 Tech Talk]이휘찬-의존성 관리 어디까지 알고있니
 
[부스트캠프 웹・모바일 7기 Tech Talk]박명범_RecyclerView는 어떻게 재활용하는가
[부스트캠프 웹・모바일 7기 Tech Talk]박명범_RecyclerView는  어떻게  재활용하는가[부스트캠프 웹・모바일 7기 Tech Talk]박명범_RecyclerView는  어떻게  재활용하는가
[부스트캠프 웹・모바일 7기 Tech Talk]박명범_RecyclerView는 어떻게 재활용하는가
 
[부스트캠프 웹・모바일 7기 Tech Talk]김지원_너와 나의 함수형 프로그래밍
[부스트캠프 웹・모바일 7기 Tech Talk]김지원_너와 나의 함수형 프로그래밍[부스트캠프 웹・모바일 7기 Tech Talk]김지원_너와 나의 함수형 프로그래밍
[부스트캠프 웹・모바일 7기 Tech Talk]김지원_너와 나의 함수형 프로그래밍
 
[부스트캠프 웹・모바일 7기 Tech Talk]김성은_Recoil
[부스트캠프 웹・모바일 7기 Tech Talk]김성은_Recoil[부스트캠프 웹・모바일 7기 Tech Talk]김성은_Recoil
[부스트캠프 웹・모바일 7기 Tech Talk]김성은_Recoil
 
[부스트캠프 웹・모바일 7기 Tech Talk]고병학_WWDC 뭘 볼까
[부스트캠프 웹・모바일 7기 Tech Talk]고병학_WWDC 뭘 볼까[부스트캠프 웹・모바일 7기 Tech Talk]고병학_WWDC 뭘 볼까
[부스트캠프 웹・모바일 7기 Tech Talk]고병학_WWDC 뭘 볼까
 
[특강] 개발자의 학습과 성장 / 이선협 (Cobalt, Inc.)
[특강] 개발자의 학습과 성장 / 이선협 (Cobalt, Inc.)[특강] 개발자의 학습과 성장 / 이선협 (Cobalt, Inc.)
[특강] 개발자의 학습과 성장 / 이선협 (Cobalt, Inc.)
 
[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노수진(Momenti)
 [특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노수진(Momenti) [특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노수진(Momenti)
[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노수진(Momenti)
 
[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노현석(카카오뱅크)
[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노현석(카카오뱅크)[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노현석(카카오뱅크)
[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노현석(카카오뱅크)
 
부스트캠프 웹∙모바일 7기 설명회
부스트캠프 웹∙모바일 7기 설명회부스트캠프 웹∙모바일 7기 설명회
부스트캠프 웹∙모바일 7기 설명회
 
[부스트캠프 Tech Talk] 배지연_Structure of Model and Task
[부스트캠프 Tech Talk] 배지연_Structure of Model and Task[부스트캠프 Tech Talk] 배지연_Structure of Model and Task
[부스트캠프 Tech Talk] 배지연_Structure of Model and Task
 
[부스트캠프 Tech Talk] 신원지_Wandb Visualization
[부스트캠프 Tech Talk] 신원지_Wandb Visualization[부스트캠프 Tech Talk] 신원지_Wandb Visualization
[부스트캠프 Tech Talk] 신원지_Wandb Visualization
 
[부스트캠프 Tech Talk] 김제우_짝코딩(Pair Programming)
[부스트캠프 Tech Talk] 김제우_짝코딩(Pair Programming)[부스트캠프 Tech Talk] 김제우_짝코딩(Pair Programming)
[부스트캠프 Tech Talk] 김제우_짝코딩(Pair Programming)
 
[부스트캠프 Tech Talk] 김동현_리팩터링을 통한 내실 다지기
[부스트캠프 Tech Talk] 김동현_리팩터링을 통한 내실 다지기[부스트캠프 Tech Talk] 김동현_리팩터링을 통한 내실 다지기
[부스트캠프 Tech Talk] 김동현_리팩터링을 통한 내실 다지기
 
[부스트캠프 Tech Talk] 진명훈_datasets로 협업하기
[부스트캠프 Tech Talk] 진명훈_datasets로 협업하기[부스트캠프 Tech Talk] 진명훈_datasets로 협업하기
[부스트캠프 Tech Talk] 진명훈_datasets로 협업하기
 
[부스트캠프 Tech Talk] 안영진_Tackling Complexity with Easy Stuff
[부스트캠프 Tech Talk] 안영진_Tackling Complexity with Easy Stuff[부스트캠프 Tech Talk] 안영진_Tackling Complexity with Easy Stuff
[부스트캠프 Tech Talk] 안영진_Tackling Complexity with Easy Stuff
 
[부스트캠프 Tech talk] 황우진 딥러닝 가볍게 구현해보기
[부스트캠프 Tech talk] 황우진  딥러닝 가볍게 구현해보기[부스트캠프 Tech talk] 황우진  딥러닝 가볍게 구현해보기
[부스트캠프 Tech talk] 황우진 딥러닝 가볍게 구현해보기
 

Recently uploaded

Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendArshad QA
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 

Recently uploaded (20)

Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and Backend
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 

OS 개발과 보통 개발의 차이

  • 1. ⓒ NAVER Connect Foundation OS 그냥 재미로 - OS 개발과 보통 개발의 차이 - 2022.10.20 작성자 : 임현택
  • 2. ⓒ NAVER Connect Foundation - 부팅 - 메모리 - 프로세스 - 화면출력
  • 3. ⓒ NAVER Connect Foundation 3 영화 her https://www.youtube.com/watch?v=NHA69lCd1ZM
  • 4. ⓒ NAVER Connect Foundation 그냥 재미로 Q:운영체제개발해서어디쓰나요? A:쓸모없어요 Q:???
  • 5. ⓒ NAVER Connect Foundation 5 http://www.yes24.com/Product/Goods/197293
  • 6. ⓒ NAVER Connect Foundation 6 https://ko.wikipedia.org/wiki/리처드_파인만 https://ko.wikiquote.org/wiki/리처드_파인만 내가 만들어낼 수 없다면, 난 그것을 이해하지 못한 것이다.
  • 7. ⓒ NAVER Connect Foundation 7 Q : OS는 어떻게 만드나요? 알고리즘말고!
  • 8. ⓒ NAVER Connect Foundation 8 bootloader, OS binary(컴파일결과)
  • 9. ⓒ NAVER Connect Foundation 9 01000010 01001101 01110010 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00110110 00000000 00000000 00000000 00101000 00000000 00000000 00000000 00000110 00000000 00000000 00000000 00000011 00000000 00000000 00000000 00000001 00000000 00011000 00000000 00000000 00000000 00000000 00000000 00111100 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00001010 01101001 01101110 01110100 00000000 01101101 01100001 01101001 01101110 00101000 00101001 01111011 00001010 00000000 00000000 00000000 00000000 01110000 00000000 00000000 01110010 01101001 01101110 01110100 01100110 00101000 00100010 01100010 01101111 01101111 01110011 01110100 01100011 01100001 01101101 01110000 00100010 00101001 00000000 00000000 00111011 00001010 00000000 00000000 00000000 00000000 01110010 01100101 01110100 01110101 01110010 01101110 00000000 00110000 00111011 00001010 01111101 00000000 00000000 00000000
  • 10. ⓒ NAVER Connect Foundation 10 int main(){ printf("boostcamp"); return 0; }
  • 11. ⓒ NAVER Connect Foundation Bootstrapping 더블클릭
  • 12. ⓒ NAVER Connect Foundation 12 RAM 0x00000 0xFFFF F HDD bootloader OS
  • 13. ⓒ NAVER Connect Foundation 13 OS bootloader RAM 0x00000 0xFFFF F 0x07C00 0x07DFF HDD bootloader OS
  • 14. ⓒ NAVER Connect Foundation 14 OS bootloader RAM 0x00000 0xFFFF F 0x07C00 0x07DFF HDD bootloader OS
  • 15. ⓒ NAVER Connect Foundation 15 https://en.wikipedia.org/wiki/GNU_GRUB
  • 16. ⓒ NAVER Connect Foundation 16 하드디스크 1섹터(512byte) 읽기 CPU register 설정 AH = 0x02 AL = 0x01 CH = 0x00 CL = 0x02 … 인터럽트 실행 INT 0x13
  • 17. ⓒ NAVER Connect Foundation OS의 메모리 관리 new,malloc
  • 18. ⓒ NAVER Connect Foundation 18 RAM Info RAM 0xC0000 Mem mem = (*Mem) 0xC0000
  • 19. ⓒ NAVER Connect Foundation 프로세스 스케줄링 타이머
  • 20. ⓒ NAVER Connect Foundation 20 타이머 인터럽트 주기적으로인터럽트를발생시키는CPU이외의칩
  • 21. ⓒ NAVER Connect Foundation 21 HLT : CPU 사용률 100% ? 인터럽트를대기하는명령HLT
  • 22. ⓒ NAVER Connect Foundation 화면 출력 printf?
  • 23. ⓒ NAVER Connect Foundation 23 display(screen) ? 모니터프레임마다매번출력해야하는가?
  • 24. ⓒ NAVER Connect Foundation 24 RAM 0xA0000 0xAFFFF int i; char *p; for(i=0xa0000; i<=0xaffff; i++){ p = (char*) i; *p = 0x0f; } VRAM
  • 25. ⓒ NAVER Connect Foundation 25 00000000 00011000 00011000 00011000 00100100 00100100 00100100 00100100 01111110 01000010 01000010 01000010 11100111 00000000 00000000 A
  • 26. ⓒ NAVER Connect Foundation 26 https://windowsforum.kr/free/1934314
  • 27. ⓒ NAVER Connect Foundation 27 http://www.yes24.com/Product/Goods/2508562
  • 28. ⓒ NAVER Connect Foundation End of Document Thank You.