양희재 교수님 강의를 기반으로 작성된 글입니다.
운영체제의 수업 목표
- window, Unix/Linux,MacOS X, iOS
- 운영체제의 정의, 역할, 역사
- 프로세스 관리, 주기억장치 관리, 파일 관리
- 운영체제 이해부터 설계까지
운영체제 1주차 - (1)
- 운영체제란?
- PC를 구입하면 운영체제가 들어있음
- Windows XP, MacOSX,iOS
- Operating System
- OS가 없는 컴퓨터를 사용하면 어떻게 될까?
- 컴퓨터 구조 : 프로세서와 메모리(프로그램을 내장)
- 하드디스크 안에 OS가 설치되어 있음
- 프로그램 내장형 컴퓨터
- 운영체제가 없다면 임의값이 메모리에 들어있음 -> 자기 멋대로 실행하기 때문에 -> 야생마와 같음 -> 사용을 못함
- 메모리는 휘발성 메모리(전기를 끊으면 사라짐)
- 프로그램은 컴퓨터 하드디스크 안에 있음 (ex. HWP)
- 프로그램을 실행하려면 운영체제가 들고 오는 역할을 함 (하드디스크 안에 있는 프로그램을 메모리안에 넣어주는 역할을 함)
- 한 번에 여러 프로그램을 실행시키는 역할도 운영체제가 해줌
결론적으로 운영 체제는 컴퓨터의 하드웨어를 잘 처리하여, 성능을 높이고, 사용자에게 편의성을 제공하는 것이고 컴퓨터 하드웨어 관리하는 프로그램
컴퓨터 구조
메모리
(1) 램 : 메인 메모리에 대부분을 차지 (수십 기가바이트)
(2) 롬 : 극히 일부분 (수십 키로바이토)
- 롬은 왜 필요할까?
-> 램은 휘발성 메모리이기 때문에 전원을 꺼다 키면 사라짐
-> 전원을 껐다 키더라도 롬은 내용이 유지됨
-> 전원을 껐다 키면 프로세스를 롬 부분의 코드를 읽음 -> 실행함
- 롬 안의 프로그램의 내용은 POST(Power-On Self-Test): 전기가 들어오면 환경 설정이 잘 되어있는지 테스트함
- 그 다음, Boot Loader가 실행됨 : 부트로더는 하드디스크에서 OS를 찾아 Main memeory(램 영역)로 옮김 -> 부팅(끌어당기는 것) 로더는 적재하는 것
-> 그 다음의 롬 프로그램은 더 이상 실행될 것이 없기 때문에 즉 역할이 끝났기 때문에 필요가 없음
- OS가 메인 메모리에 올라오면 -> 바탕화면의 아이콘들이 있는 초기화면이 나타남
-> OS가 메모리에 상주해서 모든 명령을 받아들일 준비가 된 것임
->Control program for Computer : 사용자 마음대로 제어할 수 있는 단계가 된 것임.
-> OS는 컴퓨터의 성능을 높여줌
- OS는 전기를 끊어지면 메인 메모리에서 사라짐
ex) 한글을 실행하면 HWP가 실행되고 메인 메모리에 올라오고 만약 한글을 종료하면 메인 메모리에서 사라짐
- OS는 상주(Resident)
운영체제
- 관리 프로그램 / 하드웨어를 감싸어 관리를 해줌
- OS는 크게 두 가지로 나뉨
1) 커널 : 핵심,핵 OS에서 가장 중요한 부분,실제로 관리하는 프로그램
2) 쉘 / 명령 해석기(command interpreter) : OS의 껍질 부분
-> 어떤 명령을 내릴 수 있도록 만들어주는 것은 운영의 체제의 껍데기 부분 즉 명령 해석기
->OS 바깥부분에 위치하여 사용자로부터 명령을 받아 명령을 해석한 뒤, 실행해주는 것
OS = Kernel + Shell
애플리케이션은 OS 바깥에 있음, OS 위에서 실행됨
- H/W : CPU, 마우스, 프린터 등....
=> 잘 제어해주는 프로그램이 OS
=> APP : MS Office, Word, Internet Explorer
운영체제 vs 정부 (Government)
- 운영체제는 정부와 비슷하다?
- 정부는 국토, 인력, 예산을 가지고 있으며 이 자원들을 어떻게 잘 관리하고 활용하는지 고민하는 곳임
- 정부가 직접하는 것은 아니고 그 아래 부서들이 있고 관리를 함
- OS는 CPU를 관리(Process Manage), Memory Manage, I/O Manage,File Manage, Network Manage, Protection Manage
->정부에 여러 부서가 있듯이 OS도 여러 개 있음
CPU가 가장 중요 Process Manage 그 다음은 Memory Manage
- Resource Manage(자원 관리자) + Resource Allocate(자원 할당자)
- 자원(하드웨어)을 관리하고 애플리케이션에 할당