CS 지식/○ OS(Operating System)
-
(14) 메모리CS 지식/○ OS(Operating System) 2021. 6. 28. 20:42
1. 주메모리장치란? 1-1) 정의 메인 메모리는 CPU가 직접 접근할 수 있는 접근장치 기본적으로 모든 부분에서 중간 결과 저장의 역할을 맡고 있음 참조 : https://korshika.tistory.com/120?category=970463 (1) 컴퓨터의 구성 1. 컴퓨터 구성 1-1) 하드웨어 - 정의 : 컴퓨터를 구성하는 기계적 장치 중앙처리장치 CPU > 2)의 주기억장치에서 명령어 / 데이터를 읽어와 처리하고 명령어의 수행 순서를 제어 - 산술논리연산장 korshika.tistory.com https://korshika.tistory.com/124?category=970463 (2) 캐시 메모리 1. 캐시 메모리란? 1-1) 정의 속도가 빠른 장치와 느린 장치 사이에서의 병목현상을 줄이기 ..
-
(13) 페이지 교체 알고리즘CS 지식/○ OS(Operating System) 2021. 6. 28. 08:24
1. 페이지 교체 알고리즘 > 가상 메모리 기법을 사용하는 경우 1-1) 요구 페이징 기법 프로세스가 특정 페이지를 요구할 때, 메모리에 해당 페이지가 없으면 필요한 그 페이지만 backing store에서 메모리로 적재를 하고 사용하지 않는 부분은 그대로 적재하지 않고 두는 방식 1-2) 페이지 교체 알고리즘 정의 1-1)의 요구 페이징 기법을 통해 올라온 페이지들이 메모리에 가득 차게 되면 어떤 페이지를 다시 backing store로 돌려보내 page-out을 시키고, 그 공간에 page-in을 시킬 공간을 확보하게 됨 이때, page-out되는 페이지를 victim-page라고 함. 기왕이면 수정되지 않는 페이지를 선택하는데, 수정이 있는 페이지일 경우 수정사항을 보조저장장치 backing sto..
-
(12) 페이징 & 세그먼테이션CS 지식/○ OS(Operating System) 2021. 6. 26. 21:30
1. 페이징 & 세그먼테이션 기법 이유 1-1) 도입 이유 다중 프로그래밍 시스템에 여러 프로세스들이 돌아가는데 여러 프로세스를 수용하기 위해, 주기억장치를 동적 분할하는 메모리 관리 작업이 필요하기 때문 → 주기억장치 == RAM/ROM 1-2) 프로세스 / 메모리 > [우]와 같은 계층적 구조를 가지며, PC( program counter)를 참조하여 메모리로부터 수행될 명령어를 읽어 CPU의 해당 명령을 수행 > CPU 레지스터 < 캐시 기억장치 < 메모리 < 보조기억장치 순으로 가격이 높지만 성능이 좋음 ※ 주기억장치의 메모리 영역 1) OS 상주 영역 : interrupt vector와 함께 낮은 주소 영역 사용 2) 사용자 프로세스 영역 : 높은 주소영역 사용 1-3) 프로그래밍 환경 (a) ..
-
(11) 세마포어(Semaphore) & 뮤텍스(Mutex)CS 지식/○ OS(Operating System) 2021. 6. 26. 01:41
1. 세마포어 & 뮤텍스란? 1-1) 정의 멀티 프로세스 / 멀티 스레드 환경에서는 같은 데이터에 동시에 접근하면 문제가 발생할 수 있는데, 이때 공유 자원을 안전하게 접근하는 방식의 제한을 주는 것이 세마포어와 뮤텍스라고 할 수 있음 참조 : https://korshika.tistory.com/150 (10) 경쟁 상태 ( Race Condition ) 1. 경쟁 상태란? 1-1) 정의 공유 자원에 여러 프로세스 / 스레드가 동시에 접근할 때, 결과값에 영향을 줄 수 있는 상태 1-2) 발생 환경/경우 (a) 멀티프로세스 / 스레드 환경 > 프로세스 : IPC ( Inter Proc korshika.tistory.com 1-2) 임계구역 ( Critical Section ) 여러 프로세스/스레드가 공유..
-
(10) 경쟁 상태 ( Race Condition )CS 지식/○ OS(Operating System) 2021. 6. 24. 23:59
1. 경쟁 상태란? 1-1) 정의 공유 자원에 여러 프로세스 / 스레드가 동시에 접근할 때, 결과값에 영향을 줄 수 있는 상태 1-2) 발생 환경/경우 (a) 멀티프로세스 / 스레드 환경 > 프로세스 : IPC ( Inter Process Communication ) > 스레드 : 한 프로세스 내부에서 data영역에 동시 접근할 수 있는 2개 이상의 스레드 참조 : https://korshika.tistory.com/144 (7) IPC - Inter Process Communication 1. 프로세스의 특징 1-1) 특징 프로세스는 독립적으로 실행 됨 프로그램 실행시 독립적인 메모리 공간을 할당받으며 data, stack, code 가진다. 한 프로세스 안에서는 개별 스레드는 자원을 공유하지 kors..
-
(9) 데드락 ( Dead lock)CS 지식/○ OS(Operating System) 2021. 6. 23. 19:11
1. 데드락이란? 1-1) 정의 프로세스가 자원을 얻지 못해서 다음을 처리하기 못하는 상태, 교착 상태 - 시스템적으로 한정된 자원을 여러 곳에서 사용하려고 할 때 발생 1-2) 데드락의 원인 > 서로 원하는 자원 P1 : R1 소비 중, R2 원함 P2 : R2 소비중, R1 원함 → 서로 원하는 자원을 가지고 있기 때문에 영원히 wait상태에 빠지는 것 2. 데드락 발생 조건 ※ 주 발생 경우 멀티프로세스 환경에서 한전된 자원을 얻기 위해 서로 경쟁하는 상황에서 한 프로세스가 자원을 요청했을 때, 동시에 그 자원을 사용할 수 없는 경우 wait 상태로 전환 wait 상태의 프로세스들이 실행 상태로 변경될 수 없을 때 주로 발생 > 다음의 4가지 조건이 모두 성립해야 dead-lock 일어날 수 있음 ..
-
(8) CPU SchedulingCS 지식/○ OS(Operating System) 2021. 6. 21. 04:01
1. CPU 스케줄링이란? 1-1) 정의 CPU를 잘 사용하기 위한 프로세스 우선순위 배정 최고의 성능을 내기 위해 자원을 어떤 프로세스에 얼마나 할당하는지 정책을 만드는 것을 CPU스케줄링이라고 함 1-2) 좋은 스케줄링 조건 1) 오버헤드 ↓ 2) 사용율(CPU를 최대로 바쁘게) ↑ 3) 기아 현상(starvation) ↓ 1-3) 스케줄링의 필요성 (a) 프로세스의 생명주기 [프로세스 생명주기 설명▼] 더보기 프로세스의 상태 전이 ✓ 승인 (Admitted) : 프로세스 생성이 가능하여 승인됨. ✓ 스케줄러 디스패치 (Scheduler Dispatch) : 준비 상태에 있는 프로세스 중 하나를 선택하여 실행시키는 것. ✓ 인터럽트 (Interrupt) : 예외, 입출력, 이벤트 등이 발생하여 현재 ..
-
(7) IPC - Inter Process CommunicationCS 지식/○ OS(Operating System) 2021. 6. 20. 00:29
1. 프로세스의 특징 1-1) 특징 프로세스는 독립적으로 실행 됨 프로그램 실행시 독립적인 메모리 공간을 할당받으며 data, stack, code 가진다. 한 프로세스 안에서는 개별 스레드는 자원을 공유하지만 독립적인 프로세스 간에는 공유할 방식이 없는데, 이를 위해 프로세스간 통신이 가능하도록 하는 것이 IPC 통신이다. 이는 OS의 프로세스 커널이 제공하는 IPC 설비를 이용하여 가능하게 된다. 커널이란? 운영체제의 핵심적인 부분으로 다른 모든 부분에 여러 기본적인 서비스를 제공해줌 컴퓨터 과학에서 커널(kernel)은 컴퓨터의 운영 체제의 핵심이 되는 컴퓨터 프로그램의 하나로, 시스템의 모든 것을 완전히 통제한다.[1] 운영 체제의 다른 부분 및 응용 프로그램 수행에 필요한 여러 가지 서비스를 제..
-
(6) PCB & Context SwitchingCS 지식/○ OS(Operating System) 2021. 6. 16. 14:57
1. Process Management 란? 1-1) 정의 CPU 프로세스가 여러개일 때 CPU 스케쥴링을 통해 프로세스들을 관리하는 것을 말함 이 때, CPU는 정보를 활용하여 프로세스들을 관리하고 이때 사용하는 정보가 Process Metadata ※ Metadata란? 메타데이터(metadata)는 데이터(data)에 대한 데이터이다. 이렇게 흔히들 간단히 정의하지만 엄격하게는, Karen Coyle에 의하면 "어떤 목적을 가지고 만들어진 데이터 (Constructed data with a purpose)"라고도 정의한다. 1-2) Process Metadata Process ID (PID) Process State Process Priority CPU registers Owner CPU usage..
-
(5) System CallCS 지식/○ OS(Operating System) 2021. 6. 15. 21:51
1. System Call 이란? 1-1) 정의 OS가 Application / 사용자에게 제공하는 interface 1-2) 사용 이유 OS가 프로세스 실행, 종료 / I/O 작업 등, 사용자가 함부로 사용하면 안되는 명령어들을 Privileged Instruction으로 분류하고 막아놓았다. 이를 사용하기 위해서 OS가 제공하는 System Call API을 통해 System Call을 이용해야 함 [PI / Kernal mode에서 실행되는 System call의 종류 예시] - 파일 읽어오기, 파일 쓰기, 화면 메세지 출력 등... - fork, wait, exec... 1-3) 수행 과정 1) 프로세스가 System Call을 호출하면 trap(내부 인터럽트)이 발생 - 참조 https://ko..