이번 글은 한국공학대학교 오세춘교수님의 강의와 황기태의 「 명품 운영체제(수정판) 황기태 」을 바탕으로 작성했음을 밝힙니다.
글을 시작하기에 앞서 교제의 있는 내용을 적고, 다른이에게 설명하기 위한 나만의 방식을 추가로 작성할 계획입니다. 아직 미숙하여 글이 자유분방할 수 있으니 양해 바랍니다.
핵심 목표
1. 운영체제의 정의와 목표를 알기
2. 운영체제의 발전과정의 큰 흐름 이해하기
3. 다중프로그래밍이 가져온 운영체제의 발전과 영향 이해하기
4. 운영체제의 종류와 특징 이해하기
운영체제란?
- 컴퓨터 사용자와 컴퓨터 하드웨어 사이에서 중계 역할을 하면서, 프로그램의 실행을 관리하고 제어하는 시스템 소프트웨어
- 컴퓨터가 켜질 때 처음으로 적재되어 나머지 모든 프로그램의 실행을 제어하고 사용자의 요청을 처리해주는 소프트웨어
- 컴퓨터의 자원을 독점적으로 관리하는 특별한 소프트웨어
(설명) 운영체제란?
당신이 쓰고 있는 컴퓨터는 어떤걸로 작동하고 있는가? Window? Mac? 여기서 말한 Window, Mac이 바로 운영체제다.
window에서 sns을 하거나 인터넷서핑을 하거나, 게임을 할때 어떻게 작동되는지 신경쓰면서 했던 기억이 있는가? 아마 없을 것이다. 중간에 운영체제가 너가 원하는 프로그램을 컴퓨터에게 전달해서 컴퓨터가 해당하는 프로그램을 실행하는 것이다. 크롬 창을 20개를 띄우고, 게임 10개를 동시에 돌려본 적이 있는가? 컴퓨터가 갑자기 버벅거리지는 않았는가? 너가 컴퓨터에게 요청한 요청서의 자원이 너무 많이 들어가서 운영체제가 해당 자원을 안줘서 그럴 수 있다. 즉, 운영체제는 너가 요청한 내용을 전달해주는 중간 관리자의 역할을 한다.
운영체제의 핵심 단어
1. 운영체제는 컴퓨터의 모든 자원(resource) 관리
- 하드웨어 자원 - CPU, 캐시, 메모리, 키보드, 마우스, 디스플레이, 하드디스크, 프린터 등
- 소프트웨어 자원 - 응용프로그램
- 데이터 자원 - 파일, 데이터베이스 등
2. 운영체제는 자원에 대한 독점(exclusive) 권한 소유
- 자원에 대한 모든 관리 권한은 운영체제에게 만 있음
자원 할당, 자원 공유, 자원 액세스, 자원 입출력 등
예) 파일 생성 – 디스크의 빈 공간 관리, 파일 저장 위치 관리, 파일 입출력 등
3. 운영체제는 관리자(supervisor)
실행중인 프로그램 관리, 메모리 관리, 파일과 디스크 장치 관리, 입출력 장치 관리, 사용자 계정 등 관리 등 ✓ 4. 운영체제는 소프트웨어(software)
커널(kernel)이라고 불리는 핵심 코드와 UI를 비롯한 도구 프로그램들(tool/utility) 및 장치를 제어하는 디바이스 드라이버들로 구성
도구 프로그램의 예: 탐색기(explorer), 작업 관리자(task manager), 제어판(control panel) 등이 있다.
나머지 부분은 추후에 다시 재작성 하겠다.