목록운영체제 (7)
고딩개발자
이번에는 가상기억장치와 그 관리법을 알아보자. 초기에는 기억장치보다 큰 프로그램은 실행할 수 없는 문제점이 있었다. 그렇다면 가상기억장치란 무엇일까? 프로그램을 관리할 때 현재 사용되고 있는 프로그램의 일부는 주기억장치에 유지하고 나머지는 보조기억장치 즉, 디스크에 유지시킨다. 이때, 사용자가 보조 기억장치와 같은 용량을 가지고 있는 것처럼 생각하고 프로그램을 관리할 수 있도록 하는 것이 가상기억장치이다. 가상주소 : 보조기억장치의 번지실주소 : 주기억장치내 주소 CPU에 참조되는 각 가장주소를 주기억장치의 실주소로 변환하는 주소사상(mapping)이 필요하며 기법으로는 페이징 기법과 세그멘테이션 기법이 있다. 1) 동적주소변환(DAT) a. 가상주소 만들기프로그램을 여러개의 블록으로 나누고, 프로그램의..
이번에는 주기억장치의 관리법에 대해 알아보겠다. 우리는 주기억장치에 여러 프로세스가 적재되어야 하는 다중프로그래밍 환경에서 컴퓨터를 사용하고 있다.이 기억장치의 효율성과 성능 향상을 위해 어떤 프로세스를 어디에 적제할 것인지에 대한 관리가 필요하다. 1) 단일 사용자 할당 초기에 시스템에서 실행될 프로그램 전체를 연속된 메모리공간에 미리 적재하는 방법이다.즉, 하나의 작업이 주기억장치를 전용으로 사용하는 것이다.단일 사용자 할당을 이용하면 사용자 프로그램의 크기가 사용자 영역의 크기로 제한되며빈 공간을 사용하지 못해 기억장치의 낭비가 심하여 주변 장치등의 자원낭비, CPU시간 낭비 등이 크다. 2) 고정 분할 다중 프로그래밍(정적 분할 다중프로그래밍) 메모리를 미리 몇개의 고정된 개수와 크기로 분할하는 ..
교착상태!! 교착상태가 뭘까?//// ▶교착상태 (DeadLock) 다중프로그래밍 시스템에서 여러 프로세스가 한정된 자원을 사용하려고 서로 경쟁한다. 한 프로세스가 자원을 요청했을 때, 그 시각에 요청한 자원을 사용할 수 없는 상태이면 프로세스가 대기상태로 들어간다. 이처럼 대기 중인 프로세스가 그들이 원하는 자원이 다른 프로세스에 의해 점유되어 있고, 점유하고 있는 프로세스들도 모두 대기 상태에 있어서 모두 상태를 변경시키고 실행할 수 없을때 교착상태라고 한다.위의 사진처럼 서로 가고싶어하는 길을 서로가 가로막고있기 때문에 이러지도 저러지도 못하는 진퇴양난의 상황을 운영체제로 생각한 것을 교착상태라고 할 수 있다. ▶교착상태 발생원인 상호배제 : 한번에 한 프로세스만이 자원을 사용할 수 있다.점유와 대..
저번시간에 이어서 여러가지 프로세스 스케줄링 방법에 대해 알아보아요 ▶시작하기에 앞서 선점형과 비선점의 차이점이 뭘까?? -선점 (preemtive) CPU를 할당받아 실행중인 프로세스에게서 강제로 CPU를 빼앗아 다른 프로세스에게 넘겨주는 방법 -비선점 (nonpreemtive) 프로세스가 CPU를 할당받아 실행이 시작되면, 그 프로세스가 작업을 완료하거나 다른 자원 요청으로 CPU를 스스로 반환하지 않는 한 계속 한 프로세스가 CPU를 사용하여 실행하는 것이다. ▶스케줄링 기법 1) FCFS (First Come First Served) 기법 = FIFO (First In First Out) 기법 준비상태에 도착한 순서에 따라 선착순으로 CPU를 할당해주는 비선점 스케줄링 기법이다.중요하지 않은 작업..
이번에는 프로세스 관리와 이유, 스케줄링에 대해 공부해 봅시닷 ▶프로세스란??? -하드디스크에 저장되어있던 프로그램을 메모리(주기억장치)로 fetch한 프로그램.-CPU를 할당받아 활동 상태에 있는 것.-PCB를 갖는 프로그램-운영체제가 관리하는 실행 주체 단위 여기서 잠깐 PCB블록이 뭘까??? PCB블록은 프로세스 제어 블록을 말한다. 프로세스에 대한 각종 정보를 담고 있는 블록으로 이 블록을 통해 프로세스를 관리한다. 운영체제가 CPU를 다른 프로세스에게 넘겨주고자 할 때, 프로세스에 관한 모든 정보를 PCB에 저장시키고 나서 다시 실행하고자 할 때는 PCB에 보관된 정보를 재사용 한다. 포인터프로세스의 상태프로그램 번호프로그램 카운터프로세스 우선순위프로세스 위치의 포인터기타... -프로세스의 상태..
저번시간에는 간단하게 운영체제란 무엇인가에 대해 알아보았는데, 이번에는 운영체제의 종류 즉 유형에 대해서 알아보아요. 1) 일괄처리시스템 (Batch Processing System) -정의 : 유사한 작업끼리 묶어서 한번에 한 작업씩 순서대로 처리하는 시스템이다. 윈도우즈에서도 명령어들로 구성된 일괄처리 파일이 사용되고 있다. 2) 다중프로그래밍 시스템 (Multiprogramming System) -정의 : 여러개의 프로그램을 동시에 메모리(RAM)에 적재시켜놓고, CPU를 나눠쓰게 하는 시스템이다. -특징 : CPU를 쪼개서 사용하는 것이 가장 큰 특징이다. RAM에 동시에 여러 가지 프로그램을 적재시키는 만큼 철저한 메모리 관리가 필요하다. 또, 어떤 프로그램에게 먼저 CPU를 할당할 것 인지에 ..
운영체제의 간단한 개념에 대해서 알아보아요. ▶운영체제란? 사용자와 응용 및 시스템 소프트웨어, 하드웨어의 중재자 역할을 하며 CPU관리와 기억장치관리 등등을 한다. ▶운영체제가 하는 일 -프로세스관리 : CPU를 어떻게 하면 효율적으로 사용할 수 있을지 생각하여 스케줄링 하는 것으로 작업 시간을 할당하거나, 작업의 우선순위를 부여하여 효율적으로 실행되도록 프로세스를 관리하는 것이다. -기억장치관리 : 한정된 자원인 RAM, 하드웨어를 효율적으로 사용한다. 프로그램에게 기억 공간이 필요할 때 할당하고, 더 이상 필요하지 않게 될 때 회수하여 전체 기억 공간이 효율적으로 사용될 수 있도록 한다. -파일관리 : 각 파일의 이름과 보조 기억 장치의 저장영역을 기억해 두었다가 필요할 때 접근하여 파일을 저장, ..