운영체제
·
CS/OS
컴퓨터 하드웨어 사이에 중계 역할을 하면서 컴퓨터의 모든 자원과 프로그램 실행을 관리하고 제어하는 시스템 소프트웨어. 운영 체제가 하드웨어와 응용프로그램 사이에 중계 역할을 위해 시스템 콜, 인터럽트 2가지 인터페이스를 두고 있다. 운영체제는 자원에 대한 접근과 관리 권한을 오직 운영체제에만 두는, 독점 관리를 한다. 파일이 생성되고 삭제되는 과정에서 디스크의 빈 영역을 관리하고, 파일이 저장되는 위치를 결정하고, 디스크에 파일을 기록하거나 읽는 행위는 모두 운영체제에 의해 실행된다. 따라서 사용자와 응용 프로그램은 시스템 콜을 통해서만 커널에 접근할 수 있다. 독점 관리를 통해 사용자와 응용 프로그램으로부터 자원에 대한 손상을 마고 여러 프로그램이 자원을 공유할 수 있도록 한다. 컴퓨터 자원은 하드웨어..
데드락(Dead Lock)
·
CS/OS
운영체제 속 데드락이란 시스템 자원에 대한 요구가 뒤엉킨 상태로, 둘 이상의 프로세스가 다른 프로세스가 소유하고 있는 자원을 서로 기다릴 때 무한 대기에 빠지는 상황 발생조건 상호배제 한 번에 프로세스 하나만 해당 자원을 사용할 수 있다. 다른 프로세스가 해당 자원을 사용하고 있을 때는 접근할 수 없어야 한다. 점유 대기 자원을 최소한 하나 보유하고, 다른 프로세스에 할당된 자원을 점유하기 위해 대기하는 프로세스가 존재해야 한다. 비선점 이미 소유한 자원을 강제로 빼앗을 수 없다. 자원은 해당 프로세스가 스스로 반납할 때까지 사용 가능해야 한다. 순환 대기 대기 프로세스의 집합이 순환 형태로 자원을 대기하고 있어야 한다. 데드락 방지 1. 예방 (Prevention) 상호 배제 방지 : 한 번에 여러 프..
Cache
·
CS/OS
주기억장치에서(메인메모리)에서 자주 사용하는 프로그램과 데이터를 저장해두어 속도를 빠르게 하는 메모리. 캐시 기억장치와 주기억장치 사이에서 정보를 옮기는 것을 사상(Mapping, 매핑)이라고 한다. 직접매핑, 연관매핑, 집합 연관 매핑이 있다. 속도가 빠른 장치와 느린 장치간의 속도 차에 따른 병목현상을 줄이기 위한 메모리 이를 위해 CPU가 어떤 데이터를 원하는지 어느 정도 예측할 수 있어야 한다. 캐시 메모리에 CPU가 이후에 참조할, 필요 있는 정보가 어느 정도 들어있느냐에 따라 캐시의 성능이 좌우됨. 캐시에 자주 사용하는 데이터를 담아두고, 해당 데이터가 필요할 때 프로세서가 메인 메모리 대신 캐시에 접근하여 처리 속도를 높이는 것이 캐시의 목적이다. 캐시의 지역성 캐시가 효율적으로 동작하기 위..
프로세스 & 스레드
·
CS/OS
프로그램(Program) 특정 작업을 위한 명령문의 집합으로, 정적인 파일로 기기 내 저장공간에 저장되어있지만 메모리에 올라가있지 않은 실행 가능한 파일 프로세서(Processor) CPU, 그래픽 프로세서, 입출력 프로세서와 같은 하드웨어 처리기를 뜻한다. 예전의 컴퓨터는 한번에 하나의 동작밖에 수행하지 못했지만, 다중 작업을 가능하게 하는 멀티태스킹 기능이 나오면서 여러 프로세스를 함께 돌리는 것이 가능해졌다. 프로세스(Process) 메모리에 올라와 실행 중인 프로그램 인스턴스(개별요소)이다. 프로그램의 실행 단위라고 할 수 있다. 프로그램이 실행되면 메모리에 올라가고 운영체제로부터 시스템 자원을 할당받는다. 시스템 자원 : CPU 시간, 주소 공간, Code, Data, Heap, Stack의 구..