얼레벌레 운영체제 마인드맵
컴퓨터의 전반적인 운영을 제어하는 소프트웨어
사용자가 파일을 저장하거나 불러올 수 있는 수단을 제공하며 사용자가 프로그램실행을 요청할 때 사용할 수 있는 인터페이스를 제공하고 요청된 프로그램을 실행하기 위한 환경을 제공한다.
ex)Shell 최근에는 GUI (Graphic UI)를 사용한다.
컴퓨터가 필요로하는 가장 기본적인 기능을 수행하는 소프트웨어 요소들을 포함함
1. 파일 관리자 : 운영체제 외의 다른 프로그램의 파일 접근은 파일 관리자의 감독을 받는다.
2. 장치 관리자 : 주변장치의 제어가와 통신하거나 직접통신하는 프로그램
3. 메모리 관리자 : 주기억장치 사용을 관장함. 멀티 사용자, 멀티 태스킹 환경에서는 동시에 여러 요구에 답해야한다. 동시에 여러 프로그램과 데이터 블록이 메모리를 차지하게 되면서 메모리 관리자는 메모리 공간을 찾아 할당해야 하며, 각 프로그램의 활동이 그 프로그램에 할당된 공간 내에서 이루어지도록 책임져야한다. 더이상 이용되지 않는 메모리 영역을 추적하고 있어야한다.
Q : 요청된 주기억 장치의 크기가 실제 컴퓨터에서 사용가능한 공간을 초과할 경우 ?
A : 프로그램과 데이터를 주기억장치와 대용량 저장장치 사이를 오가며 옮기는 기법을 사용함 = 페이징 기법
페이징에 의해 만들어진 가상적인 큰 기억공간을 가상메모리라고 부른다.
4. 일정 관리자 : 어느 작업을 실행시켜야할지를 결정
5. 실행 관리자 : 작업에 대한 시간 할당을 관장함
개념 : 전원을 켤때마다 대용량 저장장치에 영구적으로 저장되어있는 운영체제를 전원이 켜질 때 비어있는 상태의 주기억장치로 옮기는 작업
원리 :CPU에 전원이 들어올때마다 프로그램 카운터는 특정주소(실행될 프로그램의 시작 위치)를 가리키도록 설계되어있음. 주기억장치가 휘발성이기 때문에 주기억장치의 작은 부분에 특별한 비휘발성 메모리 셀을 사용한다. = ROM(Read Only Memory) 읽을수만 있고 변경할 수는 없음
ROM에는 부트스트랩이 영구적으로 저장되어있다. 부트스트랩은 컴퓨터가 켜질때 자동으로 실행되고 CPU로 하여금 대용량 저장장치의 특정 위치에 저장된 운영체제를 주기억 장치의 휘발성 영역으로 옮긴다.
Q : ROM에 전체 운영체제를 저장하지 않는 이유
A : 현재 기술로는 큰용량의 비휘발성 메모리를 주기억장치에 두는 것이 비효율적이기 때문 그리고 잦은 업데이트 때문에 펌웨어 업데이트 보다는 대용량 저장장치에 운영체제를 저장한다.
컴퓨터에서는 실행중인 여러 프로세스들이 컴퓨터 자원을 이용하기 위해 경쟁하게 된다.
각 프로세스들이 주변장치, 주기억장치의 공간, 파일에 대한 접근, CPU에 대한 접근 등의 필요한 자원을 얻는 등 프로세스를 관리하는 것이 운영체제의 역할이다.
프로세스의 실행을 조정하는 것이 커널의 일정관리자와 실행관리자이다.
일정 관리자 : 프로세스들에 대한 기록을 관리하고, 새로운 프로세스들을 여기에 추가하거나 완료된 프로세스는 지운다. 사용자가 응용 프로그램의 실행을 요청할 때 현재 프로세스들의 집합에 요청된 응용프로그램의 실행을 추가한다.
실행 관리자 : 일정이 잡혀있는 프로세스들의 실행을 감독한다. 시간을 할당시간이라고 불리는 구간으로 나눈다음 각 프로세스가 할당시간을 초과하지 않도록 프로세스들 사이에서 CPU를 전환시켜준다.
프로세스 내에서 실행되는 여러 흐름의 단위
프로세스가 할당받은 자원을 이용하는 실행의 단위