본문 바로가기

반응형

Computer Science

(55)
프로세스 동기화 방법 Process Synchronizeation (동기화) 다중 프로그래밍 시스템 - 여러 개의 프로세스들이 존재 - 프로세스들은 서로 독립적으로 동작 - 공유 자원 또는 데이터가 있을 때 , 문제 발생 가능 동기화(Synchronization) - 프로세스 들이 서로 동작을 맞추는 것 - 프로세스 들이 서로 정보를 공유 하는 것 비동기적 - 프로세스들이 서로에 대해 모름 병행적 - 여러 개의 프로세스들이 동시에 시스템에 존재 병행 수행중인 비동기적 프로세스들이 공유 자원에 동시 접근 할 때 문제가 발생 할 수 있음 용어정리 Shared data (공유데이터) = > 크리티컬 데이터 - 여러 프로세스들이 공유하는 데이터 Critical section (임계 영역) - 공유 데이터를 접근하는 코드 영역(cod..
SPN / SRTN / HRRN Shortest-Process-Next SPN - Non-preemptive scheduling - 스케줄링 기준(Criteria) - 실행시간 (bust time 기준) - Bust time 가장 작은 프로세서를 먼저처리 SJF(Shortest Job First) 장점 - 평균 대기시간 WT 최소화 - 시스템 내 프로세스 수 최소화 - 많은 프로세스들에게 빠른 응답 시간 제공 단점 - Starvation (무한대기) 현상 발생 , 기아현상 발생 SRTN ( Shorest Remaining Time Next) SPN의 변형 Preemptive scheduling - 잔여 실행 시간이 더 적은 프로세스가 ready 상태가 되면 선점됨 장점 - SPN의 장점 극대화 단점 - 프로세스 생성시, 총 실행 시간 ..
FCFS/RR Waiting time : 프로세스가 도착하고 실제로 실행이 시작될때 까지 기다리는시간 Turnarounde : 프로세시가 도착하고 실제로 끝나는 시간 Normalized TT (NTT) : (Turnaround time / Burst time) First-Come-First-Service FCFS 선착순 알고리즘 Non-preemptive scheduling 도착시간 기준으로 처리한다. 자원을 효율적으로 사용 가능 Batch system 에 적합, interactive system에 부적합 단점 - convoy effect - 하나의 수행시간이 긴 프로세스에 의해 다른 프로세스들이 긴 대기시간을 갖게 되는 현상 - 긴 평균 응답시간(respone time) RR (Round-Robin) - Preemp..
프로세스 스케줄링 스케줄링의 목적 - 시스템의 성능 향상 대표적 시스템 성능 지표 - 응답시간 - 작업 처리량 - 자원 활용도 대기시간 응답시간 반환시간 스케줄링의 단계 발생하는 빈도 및 할당 자원에 따른 구분 I/O -bounded 와 coumpute- bounded 프로세스들을 잘 섞어서 선택해야한다. 보통 시분할 시스템을 사용한다. 스케줄링 정책(Poicy) 선점 vs 비선점 Non-preemptive scheduling - 할당 받을 자원을 스스로 반납할 때까지 사용 쉽게 말하면 한번 할당받으면 다쓸때까지 자원을 안놓아주는 거임 ex) system call, I/O 장점 - Context switch overhead 가 적음 안주니깐 콘텍스 스위치가 적지 단점 - 잦은 우선순위 역전, 평균 응답 시간 증가 평균응답..
스레드 관리 하나의 프로세스에서 여러 스레드를 관리한다 이때 PC 등을 사용해서 어떤 스레드를 실행할지 사용한다. 스레드 - Light Weight Process 라고도 한다 LWP - 프로세서 활용의 기본 단위 구성요소 Thread ID Register set(PC,SP 등) Stack 스레드의 장점 사용자 응답성 자원 공유 -> 콘택트 스위칭 발생하지 않음 경제성 멀티 프로세서 활용 사용자 수준 스레드 (User Thread) 커널 수준 스레드(Kernel Threads) 오버헤드가 크다. 음.. 스레드라는 놈들은 하나의 프로세스(프로그램)에서 여러 존재한다. 이때 프로세스의 코드, 힙, 데이터 영역을 공유한다 (이것으로 서로 통신하기도한다) 각각의 스래드는 Stack영역에 할당되서 일을 하고 종료시 사라지기도 ..
프로세스 관리 Job vs Process 작업(Job) / 프로그램 (Program) - 실행 할 프로그램 + 데이터 - 컴퓨터 시스템에 실행 요청 전의 상태 프로세스 ( Process) - 실행을 위해 시스템 커널에 등록된 작업 - 시스템 성능 향상을 위해 커널에 의해 관리 됨 CPU를 가지고 있으면 프로세스 아니면 프로그램 자원(Resource)이 개념 - 커널의 관리 하에 프로세스에게 할당/반납 되는 수동적 개체 자원의 분류 - H/W resources - Processor, memory, disk, monintor, keyboard, Etc - S/W resources - Message, signal, files, installed Sws , Etc Process control Bolock (PCB) - OS가..
기초 : PC, 캐시, 버스 요약 레지스터 프로세서 내부에 있는 메모리 - 프로세서가 사용할 데이터 저장 - 컴퓨터에서 가장 빠른 메모리 레지스터의 종류 에따라 다음과 같이 분류한다. 용도에 따른 분류 - 전용 레지스터, 범용 레지스터 변경 여부 - 가시 레지스터, 불가시 레지스터 정보의 종류 - 데이터,주소,상태 레지스터 c언어에 register int num1 ; 변수선언으로 사용할 수 있다. (가시 레지스터) 프로그램 카운터 PC : 다음에 실행할 명령어의 위치 명령어 레지스터 IR : 현재 실행하는 레지스터 누산기 ACC : 데이터를 일시적으로 저장 메모리 주소 레지스터 MAR : 참조하려는 데이터 주소를 명시 메모리 버퍼 레지스터 MBR : 데이터 자체를 보관 캐시(Cache) - 프로세서 내부에 있는 메모리(L1,L2 캐시 등..

반응형