- 8
- Hygon
- 조회 수 1133
1. 운영체제란
운영체제는 일종의 컴퓨터 프로그램으로, 다른 프로그램이 사용하는 컴퓨터의 자원 (CPU, 메모리, 저장장치, 네트워크 카드 등)을
관리합니다. 다시 말해 하나의 프로세스가 컴퓨터의 모든 자원을 사용하도록 내버려두는 게 아니라, 각각의 프로세스들이 적절한 양의 자원을
사용하도록 관리합니다. 또, 다른 프로세스가 하드웨어에 접근할 수 있도록 추상화 인터페이스를 제공합니다. 추상화 인터페이스라고 하니
어렵게 느껴지지만, 쉽게 말해서 '하드웨어와 관련된 부분을 프로그램이 직접 구현하고 있지 않더라도, 운영체제가 이를 사용할 수 있도록 도와주는 것'정도로 이해하면 됩니다.
2. 선수과목
운영체제를 만들기 위해서는 보통 다음과 같은 것들이 필요합니다.
- 어셈블리어 (아주 조금)
- C언어 + 프로세스가 할당받는 메모리 구조 (CODE, DATA, BSS, STACK, HEAP)
- 운영체제 관련 이론
- 하드웨어의 기능, 구조
- 개발과 관련된 몇 가지 도구의 사용법
이 강좌에서는 이미 C언어를 공부했다고 가정하고, 그 외 나머지 부분을 다룹니다.
3. 강좌의 구성
각 강좌는 다음과 같은 일반적으로 순서로 진행하려 합니다.
1. 운영체제 이론
2. 해당하는 이론을 바탕으로 코드 구현
3. 해당 강좌에서 어떤 내용을 배웠는지 요약
4. 연습문제
4. 당부드리는 말씀
절대, 절대로 그냥 단순히 코드를 눈으로 읽고 그대로 따라 적는 일은 하지 말아주세요. 제대로 기억도 되지 않고, 시간이 지나면 모든걸
잊어버리게 됩니다. 그런 의미에서 연습문제도 꼼꼼히 푸시고, 복습도 자주 해주세요. 복습하실 때는 눈을 감고 하나씩 떠올려 보면서 (설명하면서) 모르거나 제대로 이해하지 못한 내용을 집중적으로 공부하시는 게 효과적입니다.
추천인 5
작성자
댓글 8
.
물론 어렵든 말든 노가다는 해야죠 ㅋㅋㅋ
지금쯤은 완성하셨겠죠?