CS/OS
-
들어가기 전에 각각의 I/O Device는 CPU가 아닌 각각의 Device Controller가 관리한다. 그리고 Device controller 를 위한 작은 메모리 공간을 local buffer 라고 부른다. (일종의 register) 입출력이 필요한 경우 사용자 프로그램은 시스템 콜을 통해 운영체제에 I/O 요청 trap 사용해 인터럽트 벡터의 특정 위치로 이동 -> 서비스 루틴으로 이동 운영체제는 Device controller 에게 요청 입출력이 끝나면 Device controller 가 interrupt 를 걸어 대답한다. ✔️ Device driver : 각 장치별 처리 루틴 (소프트웨어) ✔️ Device Controller : 각 장치를 제어하는 일종의 작은 CPU (하드웨어) 입출력 ..
(8) 입출력 시스템과 디스크 관리들어가기 전에 각각의 I/O Device는 CPU가 아닌 각각의 Device Controller가 관리한다. 그리고 Device controller 를 위한 작은 메모리 공간을 local buffer 라고 부른다. (일종의 register) 입출력이 필요한 경우 사용자 프로그램은 시스템 콜을 통해 운영체제에 I/O 요청 trap 사용해 인터럽트 벡터의 특정 위치로 이동 -> 서비스 루틴으로 이동 운영체제는 Device controller 에게 요청 입출력이 끝나면 Device controller 가 interrupt 를 걸어 대답한다. ✔️ Device driver : 각 장치별 처리 루틴 (소프트웨어) ✔️ Device Controller : 각 장치를 제어하는 일종의 작은 CPU (하드웨어) 입출력 ..
2023.05.05 -
TL;DR (용어 정리) 파일 : 보조기억장치에 저장된 관련된 데이터 레코드들의 집합에 이름을 붙인 것 디렉터리 : 모여있는 파일의 정보를 담고 있는 파일 로 파일을 관리하고 추적하기 위해 사용함 파일 시스템 : 운영체제와 모든 데이터, 프로그램의 저장과 접근을 위한 기법을 제공하는 것 들어가기 전에 프로세스 주소 공간에만 정보를 저장하면 다음과 같은 문제점이 발생한다. 제한된 양만 저장이 가능하고, 프로세스 종료시 정보가 사라지며 다수의 프로세스가 동시에 정보에 접근하기 어렵다. 따라서 Long-term Information Storage 의 필요성이 대두되었다. 디스크에 정보를 저장하면 메인 메모리보다 더 많은 정보를 저장할 수 있고, 프로세스가 종료되어도 정보가 사라지지 않으며 다수의 프로세스에서 ..
(7) 파일 관리TL;DR (용어 정리) 파일 : 보조기억장치에 저장된 관련된 데이터 레코드들의 집합에 이름을 붙인 것 디렉터리 : 모여있는 파일의 정보를 담고 있는 파일 로 파일을 관리하고 추적하기 위해 사용함 파일 시스템 : 운영체제와 모든 데이터, 프로그램의 저장과 접근을 위한 기법을 제공하는 것 들어가기 전에 프로세스 주소 공간에만 정보를 저장하면 다음과 같은 문제점이 발생한다. 제한된 양만 저장이 가능하고, 프로세스 종료시 정보가 사라지며 다수의 프로세스가 동시에 정보에 접근하기 어렵다. 따라서 Long-term Information Storage 의 필요성이 대두되었다. 디스크에 정보를 저장하면 메인 메모리보다 더 많은 정보를 저장할 수 있고, 프로세스가 종료되어도 정보가 사라지지 않으며 다수의 프로세스에서 ..
2023.05.05 -
TL;DR 가상 메모리란? 물리 메모리의 크기와 상관없이 프로세스에 커다란 메모리 공간을 제공하는 기술 요구 페이징이란? 프로세스가 필요로 하는 데이터를 프로세스가 요청할 때 메모리에 적재하는 방법 페이지 폴트란? 프로세스가 요구한 페이지가 현재 메모리에 없는 상황 페이지 폴트 알고리즘이란? 페이지 폴트(Page Fault)가 발생할 시 어떤 프레임을 선택하여 교체할지 결정하는 방법 가상 메모리 물리 메모리의 크기와 상관없이 프로세스에 커다란 메모리 공간을 제공하는 기술이다. 🔺 가상 메모리의 필요성 프로세스가 실행되는 코드 전체를 물리 메모리에 존재시킨다면, 메모리 용량보다 큰 프로그램은 실행될 수 없다. 또한 여러 프로그램이 동시에 메모리에 올라갈 경우, 용량 문제나 성능 이슈가 발생한다. 하지만 실..
(6) 가상 메모리 (요구 페이징/ 페이지 교체 알고리즘)TL;DR 가상 메모리란? 물리 메모리의 크기와 상관없이 프로세스에 커다란 메모리 공간을 제공하는 기술 요구 페이징이란? 프로세스가 필요로 하는 데이터를 프로세스가 요청할 때 메모리에 적재하는 방법 페이지 폴트란? 프로세스가 요구한 페이지가 현재 메모리에 없는 상황 페이지 폴트 알고리즘이란? 페이지 폴트(Page Fault)가 발생할 시 어떤 프레임을 선택하여 교체할지 결정하는 방법 가상 메모리 물리 메모리의 크기와 상관없이 프로세스에 커다란 메모리 공간을 제공하는 기술이다. 🔺 가상 메모리의 필요성 프로세스가 실행되는 코드 전체를 물리 메모리에 존재시킨다면, 메모리 용량보다 큰 프로그램은 실행될 수 없다. 또한 여러 프로그램이 동시에 메모리에 올라갈 경우, 용량 문제나 성능 이슈가 발생한다. 하지만 실..
2023.05.04 -
들어가기 전에 메모리 용량이 증가함에 따라 프로그램의 크기 또한 계속 증가하고 있기 때문에 메모리는 언제나 부족하다. 실행중인 모든 프로세스를 메모리 위에 올릴 수 없기 때문에 제한된 물리 메모리의 효율적인 사용이 필요하다. 스와핑 (Swapping) 주기억장치에 적재한 하나의 프로세스와 보조기억장치에 적재한 다른 프로세스의 메모리를 교체하는 기법. 스와핑(Swapping)의 단위는 프로세스 메모리는 크기가 작기 때문에, 현재 모든 프로세스가 user space 메모리를 다 차지하고 있는데 새로운 프로세스를 실행하면, 기존의 프로세스 중에 현재 실행중이지 않은 프로세스를 임시로 디스크에 보냈다가 다시 메모리에 로드해야 하는 상황이 생긴다. CPU에서 실행중이지 않는 프로세스를 저장장치의 Swap 영역으로..
(5) 메모리 관리 전략 (페이징, 세그멘테이션)들어가기 전에 메모리 용량이 증가함에 따라 프로그램의 크기 또한 계속 증가하고 있기 때문에 메모리는 언제나 부족하다. 실행중인 모든 프로세스를 메모리 위에 올릴 수 없기 때문에 제한된 물리 메모리의 효율적인 사용이 필요하다. 스와핑 (Swapping) 주기억장치에 적재한 하나의 프로세스와 보조기억장치에 적재한 다른 프로세스의 메모리를 교체하는 기법. 스와핑(Swapping)의 단위는 프로세스 메모리는 크기가 작기 때문에, 현재 모든 프로세스가 user space 메모리를 다 차지하고 있는데 새로운 프로세스를 실행하면, 기존의 프로세스 중에 현재 실행중이지 않은 프로세스를 임시로 디스크에 보냈다가 다시 메모리에 로드해야 하는 상황이 생긴다. CPU에서 실행중이지 않는 프로세스를 저장장치의 Swap 영역으로..
2023.05.04 -
TL;DR Race condition이란? 2개 이상의 프로세스(스레드)들이 하나의 자원(공유 자원)에 동시에 접근하려 경쟁하는 상태 Critical section(임계구역)이란? 공유 데이터에 접근하려는 코드를 의미한다. 뮤텍스란? 하나의 스레드만이 공유자원에 접근할 수 있도록하여 경쟁 상황을 방지하는 기법 세마포어란? 임계 구역에 여러 스레드가 들어갈 수 있고, counter를 두어서 허용 가능한 스레드를 제한해 경쟁 상황을 방지하는 기법 Deadlock 이란? 둘 이상의 프로세스가 서로가 가진 자원을 필요로 하며 무한 대기에 빠지는 상황이다. 동기화 문제 둘 이상의 프로세스나 스레드가 공유 데이터에 접근하는 상황, 즉 경쟁 상태를 해결하는 방법이다. Concurrency Control (병행 제어)..
(4) Deadlock / 세마포어 & 뮤텍스TL;DR Race condition이란? 2개 이상의 프로세스(스레드)들이 하나의 자원(공유 자원)에 동시에 접근하려 경쟁하는 상태 Critical section(임계구역)이란? 공유 데이터에 접근하려는 코드를 의미한다. 뮤텍스란? 하나의 스레드만이 공유자원에 접근할 수 있도록하여 경쟁 상황을 방지하는 기법 세마포어란? 임계 구역에 여러 스레드가 들어갈 수 있고, counter를 두어서 허용 가능한 스레드를 제한해 경쟁 상황을 방지하는 기법 Deadlock 이란? 둘 이상의 프로세스가 서로가 가진 자원을 필요로 하며 무한 대기에 빠지는 상황이다. 동기화 문제 둘 이상의 프로세스나 스레드가 공유 데이터에 접근하는 상황, 즉 경쟁 상태를 해결하는 방법이다. Concurrency Control (병행 제어)..
2023.05.04 -
들어가기 전에 분산 시스템은 PC가 보급되고 인터넷이 활성화되면서 개념이 생겨났다. 병렬 처리 (Parallel Processing) : 하나 이상의 연산을 동시에 수행해 연산 속도를 증가시키는 방법 분산 시스템 : 여러 개의 컴퓨터가 동일한 태스크를 처리하기 위해 네트워크 상에서 서로 통신하며 협력하는 것 예) 거대 웹사이트 저장소, P2P 파일 공유 등 병렬처리 시스템은 프로세서를 늘려서 여러 일을 동시에 처리 할 수 있게 해주는 시스템 분산처리 시스템은 하나의 컴퓨터 시스템이 처리 또는 제어하고 있던 기능을 여러 개의 컴퓨터 시스템에 분산하여 처리하는 것. 분산처리는 “하나의 일을 동시에 여럿이서” 처리하는 것 병렬 처리 시스템 ( 강결합 시스템) 병렬처리 시스템은 컴퓨터를 병렬로 연결하거나, CP..
(3) 분산 시스템 / 멀티 프로세스 vs 멀티 스레드들어가기 전에 분산 시스템은 PC가 보급되고 인터넷이 활성화되면서 개념이 생겨났다. 병렬 처리 (Parallel Processing) : 하나 이상의 연산을 동시에 수행해 연산 속도를 증가시키는 방법 분산 시스템 : 여러 개의 컴퓨터가 동일한 태스크를 처리하기 위해 네트워크 상에서 서로 통신하며 협력하는 것 예) 거대 웹사이트 저장소, P2P 파일 공유 등 병렬처리 시스템은 프로세서를 늘려서 여러 일을 동시에 처리 할 수 있게 해주는 시스템 분산처리 시스템은 하나의 컴퓨터 시스템이 처리 또는 제어하고 있던 기능을 여러 개의 컴퓨터 시스템에 분산하여 처리하는 것. 분산처리는 “하나의 일을 동시에 여럿이서” 처리하는 것 병렬 처리 시스템 ( 강결합 시스템) 병렬처리 시스템은 컴퓨터를 병렬로 연결하거나, CP..
2023.05.04