
05. 분산 운영체제 01. MIMD(Multiple Instruction Multiple Data) 1) 다중 처리기(Multi-Processor) 여러 개의 CPU가 하나의 메모리를 공유함 CPU들이 하나의 메모리에 연결되어 있으므로 강결합 구조 병렬 처리 시스템에 적합함 전송 지연이 짧고 데이터 처리율이 높음 프로세스 간 통신은 공유 메모리를 통해 이루어짐 공유 메모리를 차지하려는 프로세스 간의 경쟁이 발생함 기억 장소가 하나이므로 운영체제도 하나 모든 CPU가 동등한 입장이므로 대칭적 구조 2) 다중 컴퓨터(Multi-Computer) 여러 개의 CPU가 독립적인 메모리를 사용함 CPU가 독립적인 메모리에 연결되어 있으므로 약결합 구조 분산 처리 시스템에 적합함 전송 지연이 길고 데이터 처리율이 ..

04. 디스크 관리 01. 디스크 구조와 접근 시간 1) 디스크 구조 트랙(Track) 디스크의 회전축을 중심으로 구성된 동심원 모양으로 디스크의 종류마다 개수가 모두 다름 일반적으로 200트랙(0 ~ 199 트랙) 섹터(Sector) 하나의 트랙을 몇 개로 분할한 블록으로 한 개의 섹터는 일반적으로 512byte ~ 1,024byte 용량을 가짐 IPL(Initial Program Loader) 디스크에 접근할 때 디스크의 물리적인 정보를 제공함 일반적으로 부트(Boot) 섹터라고 함 물리적인 정보는 트랙 수, 섹터 수, 섹터 당 byte 수 등 FAT(File Allocation Table) 사용자가 해당 클러스터의 포인트 정보(위치 정보)를 실수로 지우는 것을 예방하고 블록 접근을 빠르게 하기 위하..

03. 기억 장치 관리 04. 주기억 장치 관리 전략 1) 주기억 장치 관리 전략의 종류 반입(Fetch) 전략 프로그램/데이터를 주기억 장치로 가져오는 시기를 결정하는 전력 요구 반입(Demand Fetch) 새로 반입된 데이터나 프로그램을 주기억 장치에 언제 위치 시킬 것인가를 결정하는 방법 예상 반입(Anticipatory Fetch) 앞으로 요구될 가능성이 큰 데이터 또는 프로그램을 예상하여 주기억 장치로 미리 옮기는 방법 배치(Placement) 전략 프로그램/데이터를 주기억 장치 내의 어디로 위치 시킬 것인가를 결정하는 전략 최초적합, 최적적합, 최악적합이 있음 교체(Replacement) 전략(= 페이지 교체 알고리즘) 주기억 장치 내의 빈 공간 확보를 위해 제거할 프로그램/데이터를 선택하는..

03. 기억 장치 관리 01. 기억 장치의 계층과 사용 방식 1) 기억 장치의 계층 구조 프로그램이나 데이터는 보조 기억 장치에 저장되어 있다가 실행에 의해서 주기억 장치로 적제 되는데, 적재된 프로그램이나 데이터는 CPU에서 가져와 레지스터에 기억시킨 후 연산 장치를 통해 연산하거나 제어를 하게 됨 프로그램이나 데이터들은 보조 기억 장치, 주기억 장치를 통하여 CPU 내에 레지스터로 이동이 되는 과정에서 속도의 차이가 발생하고, 이러한 속도 차이를 캐시, 버퍼, 스풀 영역을 두어 극복하게 됨 스풀(Spool)은 보조 기억 장치에서 주기억 장치로 프로그램이나 데이터가 적재되는 과정에서 발생하는 속도 차이를 보조 기억 장치(주로 하드 디스크)가 중재함 버퍼(Buffer)는 주기억 장치에서 CPU로 적재되는..

02. 프로세스 관리 06. 모니터 1) 모니터 세마포어를 실제 구현한 프로그램 모니터는 프로세스들이 사용할 수 있는 공유 자원 혹은 공유 자원 그룹을 할당하는 데 사용함 데이터 및 프로시저를 포함하는 병행성 구조 2) 모니터의 특징 모니터 내의 자원을 원하는 프로세스는 반드시 해당 모니터의 진입로(Entry)를 호출해야 함 모니터 외부의 프로세스는 모니터 내부의 데이터를 직접 액세스할 수 없음 자료 추상화와 정보 은폐의 개념을 기초적으로 사용함 스위치 개념을 사용하여 한순간에 하나의 프로세스만이 모니터에 진입할 수 있음 스위치 개념 프로세스들이 동시에 자원을 점유하지 못하도록 하는 것으로 사용 중이면 스위치가 꺼져 있고 사용 중이 아니면 스위치가 켜져 있는 개념 모니터에서 사용되는 연산은 Wait와 S..

02. 프로세스 관리 02. 프로세스 스케줄링(Process Scheduling) 1) 스케줄링의 종류 장기(상위) 스케줄링 - 작업 스케줄링 프로세스가 자원을 사용하는 시기를 결정하여 대기 큐로 전달하는 작업 프로그램들이 주기억 장치에 적재될 시기를 결정하는 것과 같은 스케줄링으로 다소 느린 작업 계획 중기(중위) 스케줄링 프로세스가 여러 개의 CPU 중에 어떤 CPU를 할당 받을 것인가를 결정하는 작업 중기 스케줄러는 프로세스를 주기억 장치로부터 빼낼 수 있으므로 필요한 경우에는 다중 프로그래밍의 정도를 낮추어 시스템의 전반적인 효율을 높여 주거나, 특정 프로세스에 대한 처리를 원활하게 해 줄 수 있는 효과를 얻을 수 있음 단기(하위) 프로세스 - 프로세스 스케줄링 여러 개의 프로세스가 하나의 CPU..

02. 프로세스 관리 01. 프로세스(Process) 1) 프로세스 프로세스의 개념 디스크에 존재하는 프로그램 파일이 주기억 장치에 적재되어 CPU에 의해서 실행 과정에 있는 상태 프로세스의 정의 CPU에 의해서 현재 실행되고 있는 프로그램 PCB의 존재로서 명시되는 것 PCB : 운영체제 내에서 한 프로세스의 존재를 정의하는 것으로, 여러 개의 프로세스를 수행하는 다중 프로그래밍 환경하에서 각 프로세스를 구분하기 위한 프로세서 제어 블록 프로세서(CPU)가 할당되는 개체로서 디스패치가 가능한 단위 디스패치 : 준비 상태에서 대기하고 있는 프로세스 중 하나가 CPU를 할당 받아 실행 상태로 변하는 시점 지정된 결과를 얻기 위한 일련의 계통적 동작 목적 또는 결과에 따라 발생되는 사건들의 과정 비동기적 행..

01. 운영체제의 개념 03. 운영체제의 기본 명령어 1) UNIX/Linux 계열 운영체제의 기본 명령어 1. 쉘(Shell) 주요 기능 Shell은 컴퓨터 내부를 관리하는 커널과 사용자 간을 연결하는 Command 창 세션별 변수를 설정, 운영체제를 사용자가 원하는 상태로 설정하도록 지원함 사용자 요청에 기반을 둔 명령어를 작성함 백그라운드 처리, 서브 Shell을 생성함 일련의 명령어를 묶어 처리하는 스크립트 기능 지원 등이 있음 UNIX/Linux는 최상위 유저를 CLI 환경에서 #으로, 일반 유저를 $로 표시함 명령어는 파일 및 디렉터리 관리, 유저 관리, 권한 관리, 프로세스 관리, 통신 관련 등으로 구분될 수 있음 2. UNIX의 주요 명령어 프로세스 관련 명령어 명령어 역할 fork 시스템..