이론 공부 내용 정리38 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. 네트워크3-로드밸런싱, 웹 통신의 큰 흐름 1. 로드밸런싱?정의= 여러 대의 서버를 두고 서비스를 제공하는 분산 처리 시스템에서 필요한 기술. 사용하는 이유=클라이언트의 수가 늘어나면 트래픽이 증가해 서버 1대만으로는 정상적인 서비스가 불가능하기 때문.-> Scale-up(서버 자체의 성능 확장)이 아닌 Scale-out(기존 서버와 동일/낮은 성능의 서버를 2대 이상 증설해 운영하는 것 의미.)을 사용할 경우에 로드밸런싱 필요. 로드밸런싱 구현에 대한 알고리즘= 라운드로빈 방식서버에 들어온 요청을 순서대로 돌아가며 배정하는 방식. 클라이언트의 요청을 순서대로 분배하기 때문에 여러 대의 서버가 동일한 스펙을 갖고, 서버와의 연결(세션)이 오래 지속되지 않는 경우에 활용하기 적합. = 가중 라운드로빈 방식각각 서버마다 가중치를 매기고 가중치가 높은.. 2021. 5. 24. 이전 1 ··· 6 7 8 9 10 다음