전공 49

컴퓨터 네트워크 1장(2)

더보기 3. 네트워크 코아 3.1 패킷 교환 3.2 회선 교환 4. 패킷 교환 네트워크에서 지연, 손실과 처리율 4.1 패킷 교환 네트워크에서의 지연 개요 4.2 큐잉 지연과 패킷 손실 4.3 종단 간 지연 4.4 컴퓨터 네트워크에서의 처리율 더보기 이 글은 컴퓨터 네트워킹 하양식 접근 8판(최종원) 책을 읽고 정리한 글 입니다. 3. 네트워크 코어 3.1 패킷 교환 ● 개요 네트워크 코어란 패킷 스위치와 링크의 그물망이다. ● 저장-후-전달 대부분의 패킷 스위치(라우터, 링크 계측 스위치)는 “저장-후-전달” 방식을 이용한다. 즉 하나의 라우터에서 전체 패킷을 받아 저장(출력 버퍼에 저장)하고 그때 첫 비트를 다음 패킷 스위치로 전송한다. 예를 들어 L개의 패키시 있고 R bps(1초당 비트 전송률)이..

컴퓨터 네트워크 1장(1)

더보기 1. 인터넷이란 무엇인가? 2. 네트워크의 가장 자리 2-1. 접속 네트워크 2-2. 물리 매체 더보기 이 글은 컴퓨터 네트워킹 하양식 접근 8판(최종원) 책을 보고 정리한 글입니다. 1. 인터넷이란 무엇인가? 1) 구성요소로 본 인터넷 ● host, 통신 링크, 패킷 스위치 - 인터넷이란 전세계 컴퓨팅 장치를 연결하는 컴퓨터 네트워크이다. 컴퓨팅 장치 : PC, 스마트폰, IoT, 서버, 클라이언트... 컴퓨팅 장치 = 종단 시스템 = host host는 “통신 링크”, “패킷 스위치”의 네트워크로 연결된다. 통신 링크 : 동축 케이블, 구리선, 광케이블 등등 다양한 물리적 매체를 말한다. host에서 다른 host로 데이터를 보낼 때 데이터를 세그먼트로 나누고 세그먼트에 헤더를 붙여 패킷을 만..

Chapter5 실시간 스케줄링

1. 실시간 CPU 스케줄링(Real-Time CPU Scheduling) 1) review 프로세스 1, 2, 3, ...n 이 ready queue에 존재하고 스케줄러가 하는 일은 이들 중 하나를 스케줄링하여 CPU 자원을 할당하고 프로세스는 시작된다. 프로세스에게 CPU를 할당하는 것은 디스패처가 하는 일이다. 그리고 ready queue에 있는 프로세스를 선택하는 것은 스케줄러가 하는 일이다. 스케줄링이라고 하는 것은 스케줄러가 프로세스를 선택하는 것인데 어떤 기준으로 선택하는 것인가? -> 전체 프로세스의 wating time즉 CPU 자원을 할당받아서 실제로 실행하는데까지 걸린 시간을 최소화할 수 있는 가준으로 선택한다. 각각의 프로세스의 wating time의 합 또는 평균이 최소화 할 수 ..

전공/운영체제 2022.06.27

Chapter5 스레드 스케줄링

1. 스레드 스케줄링 1) Contention Scope 코아가 1개라 가정하고 Contention Scope를 설명한다. 프로세스안에 스레드들이 존재하는데 스레드들을 스케줄링하는 것은 LWP(Light Weight Process)이다. 이는 kernel thread 에 존재하며(kernel thready의 개수만큼 존재) user Thread를 어떤 kernel thread로 연결할지 스케줄링해주는 프로세스이다. 예를 들어 사용자 모드의 스레드가 3개 커널도 3개(이는 LWP가 3개임을 의미)있다고 해보자. 사용자 모드에 있는 스레드3개 를 3개의 LWP3에 할당한다. 그리고 이 LWP를 스케줄링하여 CPU 자원을 할당하는 것이다. 여러 프로세스들 중 CPU 자원을 할당해서 실행하는 것이 목적이다. C..

전공/운영체제 2022.06.27

Chapter5 프로세스 스케줄링(Multilevel Queue, Multilevel Feedback Queue )

1. Multilevel Queue의 개념(선점형) ready Queue에는 5개의 종료가 있고 System processes가 가장 우선순위가 높다. 각 Queue들은 아래로 갈수록 우선순위가 낮아진다. 그리고 Multilevel Queue에서는 5개의 Queue간의 이동은 금지한다. system processes에 있는 P1, P2 프로세스와 interactive processes에 있는 프로세스 P3가 있을 때 P1과 P2는 우선순위가 같고 P1,P2가 P3 보다 우선순위가 높다. 그리고 system processes의 P1과 P2는 이들 간에서도 스케줄링을 통해 P1 또는 P2가 실행되게 된다. 그리고 낮은 우선순위 Queue에서 프로세스(Q1)가 실행되가가 상대적으로 더 높은 우선순위의 Queu..

전공/운영체제 2022.06.27

Chapter5 프로세스 스케줄링(Multilevel Queue Scheduling Algorithm을 위한 여러가지 알고리즘)

1. 프로세스 스케줄링 1) Multilevel Queue Scheduling Algorithm ● 개요 하나의 프로세스는 전형적으로 I/O 요청이 완료되기를 기다려야 할 때까지 실행된다. ready Queue는 프로세스 중에서 CPU 자원을 할당받고 언제든 실행이 가능한 상태들인 프로세스들이 대기하는 공간이다. CPU 스케줄링을 통하여 ready Queue에 있는 프로세스 중 하나를 CPU 자원을 할당 시키고 프로세스를 CPU 코어에서 실행하게 된다. (이를 run 상태라고 한다.) 만약 Run 상태인 프로세스가 I/O 작업이 발생하면 wating Queue에 프로세스의 PCB 정보를 넣음으로써 wating 상태로 만든다. 그리고 I/O작업이 종료되면 wating->ready 상태로 만든다. 스케줄링이..

전공/운영체제 2022.06.27

Chapter4 Thread

1. Thread 1) Thread Pool 개념 ● 스레스 풀을 사용하지 않을 때 문제점1 스레드를 통해 작업을 병렬적으로 처리하는데 스레드를 생성하고 스레드를 종료하는 마무리 작업이 시간이 많이 걸린다. 따라서 스레드라는 것이 작업보다 스레드를 생성하고 종료하는데 시간이 더 오래걸린다. ● 스레스 풀을 사용하지 않을 때 문제점2 모든 요청마다 새 스레드를 만들어서 서비스해 줄 때 최대 스레드 생성 개수를 지정해야하고 그렇지 않으며 언젠가 CPU 시간, 메모리 공간 등의 자원이 고갈된다. ● 스레드 풀이 뭐냐? 메모리에 일정한 수에 스레드를 미리 만들어 놓는다. 그리고 작업이 생기면 스레드 풀에 있는 스레드에 작업을 실어서 보낸다. 작업을 Queue에 넣고 Queue에 있는 작업들이 하나 씩 풀에 있는..

전공/운영체제 2022.06.27

2. OpenCV와 Raspberry Pi를 활용한 얼굴 인식

더보기 목차 1. 작품 설명 2. 모델 설명 3. 웹사이트 소 4. 얼굴인식을 실행한 모습 5. 웹서버 1. 작품 설명 라즈베리 파이와 OpenCV 라이브러리를 활용한 사람 얼굴 인식 프로젝트입니다. 필요한 하드웨어 장비로는 라즈베리파이에는 카메라 모듈, 3개의 LED(빨, 파, 노) 및 저항입니다. 라즈베리 OS 환경에 OpenCV라이브러리를 설치한 뒤 얼굴을 인식해주는 라이브러리를 사용하여 사람의 얼굴을 인식합니다. 사람의 얼굴을 3가지 카테고리로 분류하는데 시스템에 등록한 사람 중 Owner와 Owner가 아닌 사람(Other) 그리고 시스템에 등록되지 않은 사람인 None으로 구별합니다. 사용자의 관리는 파일로 그 정보를 관리하도록 하였습니다. ▶ 라즈베리 파이에 연결된 카메라 모듈로 사람의 얼굴..

1. Teachable Machine - 마스크 착용 인식 모델

실험 주제 : 마스크를 올바르게 착용하였는지 검출하는 딥러닝 1.실험 내용 설명 Teachable Machine을 사용하여 사람이 마스크를 올바르게 썼는지(클래스1), 턱마스크를 하였는지(클래스2), 마스크를 미착용하였는지(클래스3) 검출하는 모델로 완전 연결층학습을 통해 딥러닝 모델을 만듭니다. 에포크의 값은 50으로 지정, 배치의 크기는 16, 학습률은 0.001로 처음 지정하여 모델을 만들었습니다. 이후 이 값들을 변경해 가며 딥러닝 모델이 얼만큼 테스트 데이터를 올바르게 검출하는지 실험을 하고 이를 분석하겠습니다. 학습용 데이터의 종류(feature)로는 총 3가지의 클래스가 사용됩니다. 마스크 착용, 턱마스크, 마스크 미착용 사진을 여러 각도와 다른 배경화면을 주어 각각 10장식 사진 촬영을 하..

Chapter3 Process

더보기 목차 1. 프로세스의 개념 2. 프로세스의 상태 3. 프로세스의 상태 정보는 어디에 기록하나? (PCB) 4. Schedulers 5. Context Switch 6. 프로세스의 생성 7. 프로세스의 종료 8. 프로세스 간의 통신 - IPC(Interprocess communication) 9. Remote Procedure Calls 10. Pipes 1. 프로세스의 개념 프로세스이란 무엇인지 프로세스의 스케줄링, 프로세스 간의 communication을 살펴본다. 프로세스는 공유 메모리 또는 메시지를 통해서 통신이 이루어진다. 1) 시분할의 개념 HDD에 있는 프로그램이 실행되면 메인 메모리에 load 되어 프로세스가 된다. 하지만 모든 프로세스가 실행 상태를 가지는 것이 아니라 CPU등 하드..

전공/운영체제 2022.05.05