본문 바로가기

Computer Science17

[Network] OSI 7계층 OSI 7계층이란? 국제표준화기구(ISO)에서 개발한 모델로, 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명한 것이다 7계층으로 나누는 이유 통신이 일어나는 과정을 단계별로 알 수 있고, 특정한 곳에 이상이 생기면 그 단계만 수정할 수 있기 때문이다. 1) 물리(Physical) 리피터, 케이블, 허브 등 단지 데이터 전기적인 신호로 변환해서 주고받는 기능을 진행하는 공간 즉, 데이터를 전송하는 역할만 진행한다. 2) 데이터 링크(Data Link) 브릿지, 스위치 등 물리 계층으로 송수신되는 정보를 관리하여 안전하게 전달되도록 도와주는 역할 Mac 주소를 통해 통신한다. 프레임에 Mac 주소를 부여하고 에러검출, 재전송, 흐름제어를 진행한다. 3) 네트워크(Network) 라우터, IP.. 2020. 10. 28.
[OS] 프로세스 동기화 운영체제: 프로세스 동기화 Critical Section(임계영역) 멀티 스레딩에 문제점에서 나오듯, 동일한 자원을 동시에 접근하는 작업(e.g. 공유하는 변수 사용, 동일 파일을 사용하는 등)을 실행하는 코드 영역을 Critical Section 이라 칭한다. Critical Section Problem(임계영역 문제) 프로세스들이 Critical Section 을 함께 사용할 수 있는 프로토콜을 설계하는 것이다. Requirements(해결을 위한 기본조건) Mutual Exclusion(상호 배제) 프로세스 P1 이 Critical Section 에서 실행중이라면, 다른 프로세스들은 그들이 가진 Critical Section 에서 실행될 수 없다. Progress(진행) Critical Sectio.. 2020. 10. 27.
[OS] 동기와 비동기 비유를 통한 쉬운 설명 해야할 일(task)가 빨래, 설거지, 청소 세 가지가 있다고 가정한다. 이 일들을 동기적으로 처리한다면 빨래를 하고 설거지를 하고 청소를 한다. 비동기적으로 일을 처리한다면 빨래 업체에 빨래를 시킨다. 설거지 업체에 설거지를 시킨다. 청소 업체에 청소를 시킨다. 셋 중 어떤 것이 먼저 완료될지는 알 수 없다. 일을 모두 마친 업체는 나에게 알려주기로 했으니 나는 다른 작업을 할 수 있다. 이 때는 백그라운드 스레드에서 해당 작업을 처리하는 경우의 비동기를 의미한다. Sync vs Async 일반적으로 동기와 비동기의 차이는 메소드를 실행시킴과 동시에 반환 값이 기대되는 경우를 동기 라고 표현하고 그렇지 않은 경우에 대해서 비동기 라고 표현한다. 동시에라는 말은 실행되었을 때 값이.. 2020. 10. 25.
[OS] CPU 스케줄러 스케줄링 대상은 Ready Queue에 있는 프로세스 FCFS(First Come First Served) 특징 먼저 온 프로세스를 먼저 서비스 해주는 방식 비선점형(Non-Preemptive) 스케줄링 일단 CPU를 잡으면 CPU burst가 완료될 때까지 CPU를 반환하지 않는다. 할당되었던 CPU가 반환될 때만 스케줄링 CPU burst: 프로그램 수행 중 연속적으로 CPU를 사용하는 구간, 스케줄링 단위 문제점 convoy effect: 소요시간이 긴 프로세스가 먼저 도착하면 효율성이 낮아지는 현상이 발생한다 SJF(Shortest - Job - First) 특징 다른 프로세스가 먼저 도착했어도 CPU burst 시간이 짧은 프로세스에 할당 비선점형(Non-preemptive) 스케줄링 문제점 S.. 2020. 10. 23.