본문 바로가기

분류 전체보기314

OS-메모리 관리 전략 목적 : 메모리 용량이 증가함에 따라 프로그램의 크기가 계속 증가하고 있어서 메모리가 언제나 부족하기 때문. 정의 : 제한된 물리 메모리의 효율적 사용과 메모리 참조 방식을 제공하기 위한 전략. 효과적 메모리 사용을 위한 방법 메모리 낭비 방지 동적 적재(Dynamic Loading)모든 루틴과 데이터는 항상 사용하지 않고, 실행 시 필요하다면 해당 부분을 메모리에 적재. 프로그램 실행에 반드시 필요한 루틴과 데이터만 적재하는 기법. 동적 연결(Dynamic Linking) - 설명 추가 예정. 라이브러리 루틴연결을 컴파일 시점에 하는 것이 아닌 실행 시점가지 미루는 기법. 스와핑(Swapping)메모리 공간 확보는 효율적.-스와핑의 순서- 시스템은 실행 준비가 끝난 프로세스들을 준비완료 큐에 대기시킨다.. 2021. 7. 19.
OS-프로세스동기화 프로세스 동기화 정의 : 협력하는 프로세스 사이에서 실행 순서 규칙을 정해 공유 자원의 일관성을 보장하는 것. (ex: 여러 프로세스가 동시에 하나의 공유된 자원에 접근하려고 할 때 이 프로세스들의 순서를 정해 데이터의 일관성을 유지시켜줘야 함.) 1. 경쟁 조건(Race Condition) 정의 : 공유된 자원의 둘 이상의 입력 또는 조작의 타이밍이나 순서 등이 결과값에 영향을 줄 수 있는 상태. * 여러 프로세스가 공유 데이터를 동시에 조작할 때, 실행의 특정 순서에 따라 결과가 달라지는 상황. = 동시에 접근할 때 자료의 일관성을 해치는 결과가 나타남. 발생 조건 * 커널 작업 수행 중 인터럽트가 발생할 때 문제점 : 커널모드에서 데이터를 Load하여 작업을 수행하던 도중 인터럽트가 발생하여 같은 .. 2021. 6. 24.
OS4-스케줄러,CPU 스케줄러,동기와 비동기의 차이 1. 스케줄러 1-1) 스케줄링? 프로세스가 생성되어 실행될 때 필요한 시스템의 여러 자원을 해당 프로세스에게 할당하는 작업. 다중 프로그래밍을 지원하는 OS에서 프로세서를 효율적으로 관리하기 위해 필요. 1-2) 스케줄링의 목적 CPU나 자원을 효율적으로 사용하기 위함이다. 공정성 : 모든 프로세스에 공정하게 할당. 처리율(량) 증가: 단위시간당 프로세스를 처리하는 비율 증가. CPU 이용률 증가 : 프로세스 실행 과정에서 주 기억장치를 액세스하는 것, 입출력 명령실행 등의 원인에 의해 발생할 수 있는 CPU의 낭비시간을 줄이고, CPU가 순수하게 프로세스를 실행하는 데 사용되는 시간 비율 증가. 우선순위 제도 : 우선순위가 높은 프로세스 먼저 실행 오버헤드 최소화 응답시간 최소화 : 작업을 지시하고 .. 2021. 6. 10.
운영체제1-프로세스vs스레드, 멀티스레드 1. 프로세스와 스레드의 차이 1) 프로세스 - 정의 : 메모리에 적재되고 CPU 자원을 할당받아 프로그램이 실행되고 있는 상태. (프로그램 - 작업을 위해 실행할 수 있는 파일 / 프로그램) - PCB를 가진 프로그램. - 실기억장치에 저장된 프로그램. - 프로세서가 할당되는 실체, 디스패치가 가능한 단위. - 프로시저가 활동중인 것.(여러 개의 작은 프로그램으로 분할된 해당 프로그램 의미) - 비동기적 행위를 일으키는 주체 - 지정된 결과를 얻기 위한 일련의 계통적 동작 - 목적 / 결과에 따라 발생되는 사건들의 과정 - 운영체제가 관리하는 실행 단위 특징 - 프로세스는 각각 독립된 메모리 영역(Code, Data, Stack, Heap)을 할당받는다. - 최소 프로세스당 최소 1개의 스레드(메인 스.. 2021. 5. 27.