컴퓨터 시스템의 핵심 소프트웨어로 컴퓨터 하드웨어와 응용 프로그램 간의 상호 작용을 관리하고 제어하는 역할을 하는 것을 말한다.사용자와 하드웨어 사이의 인터페이스를 제공해 효율적으로 응용 프로그램이 동작하도록 지원하고, 시스템 자원을 효율적으로 관리하여 응용 프로그램이
컴퓨터 시스템 구성요소(하드웨어) > - CPU : 중앙처리장치(Central Processing Unit)라는 뜻이고 기억장치에 저장된 명령어들을 하나씩 가져와 명령어의 의미를 해석하고 데이터를 처리한다. 제어장치, 산술논리연상장치, 기억장치로 구성되어 있다.
- 비트(bit) : 컴퓨터가 데이터를 처리하기 위해 사용하는 데이터의 최소 단위 (0과 1로 구성) 바이트(byte) : 8개의 bit가 모여 하나의 문자를 표현할 수 있는 최소 단위 바이트 오더(Byte Order) > - 컴퓨터에서 연속된 데이터를 byte단위
프로세스(Process)란? 프로그램이 코드 덩어리라면 프로세스는 프로그램을 실행 시켜 정적인 프로 그램이 동적으로 변하여 프로그램이 돌아가고 있는 상태를 말한다. 즉 작업 중인 프로그램을 의미하며 운영체제로 부터 자원을 할당 받는 작업의 단위이다. > ###
멀티프로세스란? 하나의 어플리케이션을 여러 개의 프로세스로 구성하여 다수의 프로세서(CPU)가 각 프로세스를 병렬처리(즉 동시 처리)하는 것을 말한다. 각 프로세스 간 메모리 구분이 필요하거나 독립된 주소 공간을 가져야 될 경우에 사용한다. > #### 멀티프로세스의
동기화 문제(Synchronization Problem) > - 프로세스들의 실행 순서를 정하여 공유 자원의 일관성을 보장하는 것을 동기화(Synchronization)라고 한다. 한정적인 시스템 자원에 여러 스레드가 동시에 접근해서 사용하면 문제가 발생할 수 있다.
프로세스 제어 블록(Process Control Block, PCB) > - 운영체제가 프로세스를 제어하기 위해 정보를 저장해 놓는 곳으로, 프로세스의 상태 정보를 저장하는 자료구조다. 운영체제가 시스템 내의 프로세스들을 관리하기 위해 프로세스마다 유지하는 정보들을 담
인터럽트란? 프로그램을 실행하는 도중에 예상하지 못한 상황이(cpu 점유를 빼앗기는 경우) 발생할 경우 작업을 즉시 중단한 후 발생 된 상황을 우선 처리하고 실행중이던 작업으로 복귀하여 처리하는 것을 말한다. Interrupt는 예외 상황에 따라 크게 외부Interru
시스템 콜(System Call)이란? 시스템 콜이란 운영 체제의 커널이 제공하는 서비스에 대해, 응용 프로그램의 요청에 따라 커널에 접근하기 위한 인터페이스이다. 즉 프로세스가 컴퓨터를 관리하는 시스템(System)인 운영체제에 어떤 기능(서비스)를 사용하게 해달라고
교착 상태(Deadlock)이란? 교착 상태란 시스템 자원에 대한 요구가 뒤엉킨 상태를 말한다. 즉 둘 이상의 프로세스나 가 다른 프로세스가 점유하고 있는 자원을 서로 기다릴 때 무한 대기 상태에 빠지는 것을 말한다. 위 사진 과 같이 process1과 process
CPU 스케줄링이란? 프로세서가 작업을 수행할 때 언제,CPU 스케줄러가 어떤 프로세스에 CPU를 할당할지 결정하는 작업을 말한다. CPU 스케줄링은 CPU를 최대로 활용하는 것을 목표로 하며 규모에 따라 장기,중기,단기 스케줄링으로 구분 되며, 목적에 따라 선점형과
스케줄러의 종류 스케줄링은 규모에 따라 단기 스케줄러(Short-Term Scheduler), 중기 스케줄러(Medium-Term, Scheduler),장기 스케줄러(Long-Teem Scheduler)로 나눌 수 있다. 현재는 단기 스케줄러를 사용한다. > ##
FCFS(Frist Come First Served) 스케줄링 FCFS 스케줄링은 준비 큐에 도착한 순서대로 CPU를 할당해준다. 비선점형 방식이다. 한 번 시작 되면 그 프로세스가 끝나야만 비로소 다음 프로세스를 실핼 할 수 있다. 작성이 간단하고 이해가 쉽다. 평균
경쟁 상태(Race Condition) > - 공유 자원에 대해 여러 프로세스가 동시에 접근을 시도할 때, 타이밍이나 순서 등이 결과 값에 영향을 줄 수 있는 상태를 의미한다. 공유 자원에 여러 프로세스가 동시에 접근할 때 자료의 일관성을 해치는 결과가 나타날 수 있다
동기화 문제를 해결하기 위해 상호배제를 달성하는 기법들이 스핀락, 세마포어, 뮤텍스이다. 스핀락(Spinlock) > - 임계 구역에 진입이 불가능할 때 진입이 가능할 때까지 루프를 돌면서 재시도하는 방식으로 구현된 락을 가리킨다. 권한을 획득하기 전까지는 CPU는
페이징(Paging )이란? 메모리 단편화의 해결 방법 중 하나로(외부 단편화는 발생하지 않으나,내부 단편화는 발생한다.) 프로세스를 일정한 크기의 페이지로 분할해서 메모리에 적재하는 방식이다. 메모리는 Frame이라는 고정크기로 분활되고, 프로세스는 page라는 고
단편화 컴퓨터 시스템의 메모리가 사용되지 않은 공간의 조각으로 분할될 때 발생한다. 대규모 메모리 할당에 사용할 수 있는 연속 메모리의 양을 줄여 시스템이 할당할 여유 메모리 블록을 검색하는데 더 큰 시간을 소비하게 되기 때문에 시스템 성능에 상당항 영향을 미친다.
가상 메모리 > 가상 메모리는 메모리가 실제 메모리보다 많아 보이게 하는 기술로, 어떤 프로세스가 실행될 때 메모리에 해당 프로세스 전체가 올라가지 않더라도 실행이 가능하다는 점에 착안하여 고안된 메모리 기법이다. 가상메모리를 사용하는 이유 > - 물리 메모리는 컴퓨
메모리 관리 장치(Memory Management Unit) MMU는 가상 주소를 물리 주소로 변환하고, 메모리를 보호하는 기능을 수행한다. 가상 메모리의 논리 주소를 가지고 실제 데이터가 담겨 있는 곳에 접근하기 위해서는 빠른 주소 변환이 필요한데, 이를 MMU가 도
페이지 교체 알고리즘 페이징 기법으로 메모리를 관리하는 운영체제에서 필요한 페이지가 주기억장치에 적재되지 않았을 시(페이지 부재) 어떤 페이지 프레임을 선택하여 교체할 것인지 결정하는 방법을 페이지 교체 알고리즘이라고 한다. 프레임: 물리 메모리를 일정한 크기로 나
캐시 속도가 빠른 장치와 느린 장치 간의 속도차에 따른 병목 현상을 줄이기 위한 범용 메모리다. 저장 공간이 작고 비용이 비싼 대신 빠른 성능을 제공한다. 프로세서가 매번 메인 메모리에 접근해 데이터를 받아오면 시간이 오래 걸리기 때문에 캐시에 자주 사용하는 데이터를
IPC(Inter Process Communication) 프로세스들 사이에 서로 데이터를 주고받는 행위를 말한다. 프로세스는 독립적으로 실행된다. 이처럼 독립적인 공간을 가진 프로세스 간 통신에 사용되는 기법이 IPC 통신이다. 프로세스는 커널이 제공하는 IPC 설
파일 시스템 저장매체에는 많이 파일이 있으므로 파일이나 자료를 쉽게 발견할 수 있도록 유지, 관리하는 방법을 말한다. 사용자 영역이 아닌 커널 영역에서 동작하며, 파일의 읽기,쓰기, 삭제 등의 기능을 빠르고 원할하게 수행하기 위한 목적을 가지고 있다. 파일 시스템 특징