본문 바로가기

교육, 학습/CS스터디_반효경 운영체제16

운영체제 - 경쟁조건(Race Condition)의 발생: 동기화의 문제점 강의 소개 현재 수강하고 있는 KOCW 내 이화여자대학교 운영체제(2017, 반효경) 강의의 내용을 정리하였습니다. 개발자 관점에서 운영체제 기초를 학습하는 무료 강의로 자세한 강의 내용은 수강을 추천드립니다. 경쟁조건(Race Condition) Race condition 여러 프로세스들이 동시에 공유 데이터를 접근하는 상황에서 발생하는 문제이다. 데이터의 최종 연산 결과는 마지막에 그 데이터를 다룬 프로세스에 따라 달라진다. 이런 문제 때문에 상호 배제(Mutal Exclusion) 개념이 필요하다. 데이터 연산의 과정 컴퓨터 시스템에서 데이터 연산의 순서는 이렇다. 연산할 데이터를 저장공간에서 가져온다. -> 연산한다. -> 연산 결과를 저장공간에 반영한다. 이렇게 실행과 저장 주체가 1 대 1의 .. 2022. 1. 15.
운영체제 - CPU 스케줄링 알고리즘의 평가방법 강의 소개 현재 수강하고 있는 KOCW 내 이화여자대학교 운영체제(2017, 반효경) 강의의 내용을 정리하였습니다. 개발자 관점에서 운영체제 기초를 학습하는 무료 강의로 자세한 강의 내용은 수강을 추천드립니다. CPU 스케줄링 알고리즘의 평가 방법 앞서 다양한 알고리즘이 있었다. 이 알고리즘의 성능을 평가할 때 어떻게 평가를 진행하는지 알아본다. 1. 큐잉 모델(Queueing moel) 이론적인 방법으로 CPU스케줄링뿐 아니라 컴퓨터 시스템과 관련하여 예전에 사용하던 방식이다. 확률 분포를 통해 프로세스들의 도착률과 CPU의 처리율을 수식에 대입하여 각종 성능 지표인 CPU의 처리량, 프로세스의 평균 대기 시간 등을 계산한다. 2. 구현(Implementation)과 성능 측정(Measurement) .. 2022. 1. 15.
운영체제 - CPU스케줄링 알고리즘(선점형, 비선점형) 강의 소개 현재 수강하고 있는 KOCW 내 이화여자대학교 운영체제(2017, 반효경) 강의의 내용을 정리하였습니다. 개발자 관점에서 운영체제 기초를 학습하는 무료 강의로 자세한 강의 내용은 수강을 추천드립니다. CPU스케줄링을 하는 이유 스케줄링이란 운영체제가 어떤 프로세스를 실행되게 할 것인지 정하는 것이다. ready queue에 들어간 프로세스들이 실행을 하는 순서를 정한다. 시스템 자원을 효율적으로 사용하기 위해 중요하다. CPU스케줄링의 여러 가지 알고리즘 크게 CPU를 빼앗을 수 있는지 여부에 따라 비선점 스케줄링, 선점 스케줄링으로 나눌 수 있다. 선점형이란 특정 프로세스가 1개의 CPU를 사용하고 있을 때 다른 프로세스가 CPU를 빼앗을 수 있는 방법이다. 프로세스의 우선순위가 높은 프로세.. 2022. 1. 15.
운영체제 - CPU스케줄링이 필요한 이유, CPU스케줄링 성능척도 강의 소개 현재 수강하고 있는 KOCW 내 이화여자대학교 운영체제(2017, 반효경) 강의의 내용을 정리하였습니다. 개발자 관점에서 운영체제 기초를 학습하는 무료 강의로 자세한 강의 내용은 수강을 추천드립니다. CPU 스케줄링 CPU스케줄링이 필요한 이유 이렇게 여러 종류의 프로세스들(CPU bound job, I/O bound job)이 섞여 있기 때문에 효율적인 시스템 자원의 사용을 위해 CPU 스케줄링이 필요하다. 또한, **I/O bound job(사람하고 상호작용하는 Interactive job)에게 적절한(혹은 빠른) 응답을 제공하기 위해서 스케줄링이 필요하기도 하다. 더보기 ** CPU bound job과 I/O bound job (자세히) CPU bound job: CPU burst 시간이.. 2022. 1. 8.