반응형

분류 전체보기 509

[Deadlock] Deadlock Solutions

Deadlock prevention methods - 4개의 deadlock 발생 필요 조건 중 하나를 제거 1) Exclusive use of resources 조건 제거 - 모든 자원을 공유 자원으로 사용 - 독립적 실행이 불가능 - 비현실적 2) Non-preemptible resources 조건 제거 - 모든 자원을 선점 가능하게 사용 - 선점 당할 경우 모든 자원 반납하고 다시 처음부터 시작 -> 비효율 - 선점 당할 경우 모든 자원 반납하고 그 지점 저장 -> 복잡해짐 - 비현실적 3) Hold and wait 조건 제거 - 필요한 자원을 한 번에 할당 받기 - 필요하지 않는 상황에도 자원을 가지고 있음 - 자원 낭비 4) Circular wait 조건 제거 - 자원들에게 순서를 부여하여 순서..

[Deadlock] Deadlock and Resources types

Deadlock의 개념 - blcoked : 프로세스가 특정 이벤트를 기다리는 상태 - asleep : 프로세스가 필요한 자원(메모리 등)을 기다리는 상태 - deadlock : 프로세스가 발생 가능성이 없는 이벤트를 기다리는 상태 - starvation과 deadlock의 차이 * deadlock은 사용할 수 없는 자원을 기다리는 상태 * starvation은 사용할 수 있는 자원(CPU)를 기다리는 상태 * 발생하는 상황이 다름 Deadlock 발생 - 2개의 프로세스(P1, P2)와 2개의 자원(R1, R2) - ① P1이 자원 R2 요청 - ② P2가 자원 R1 요청 - ③ P1이 자원 R1 요청했으나 자원이 없음, 아직 deadlock이 아닌 상태, 왜냐하면 P2가 R1 사용하고 반납하면 되기 ..

Process Synchronization and Mutual Exclusion

다중 프로그래밍 시스템 - 여러 개의 프로세스 존재 - 프로세스들은 서로 독립적으로 동작 - 공유 자원 또는 데이터가 있을 때, 문제 발생 동기화 - 프로세스들이 서로 동작을 맞추는 것 - 프로세스들이 서로 정보를 공유하는 것 용어 표현 - Shared data(공유 데이터) : 여러 프로세스들이 공유하는 데이터 - Critical section(임계 영역) : 공유 데이터를 접근하는 코드 영역 - Mutual exclusion(상호 배제) : 둘 이상의 프로세스가 동시에 임계 영역에 진입을 막는 것 Critical section에서의 문제 과정 1. 공유 데이터를 Register에 저장 2. 저장된 데이터에 1 더하기 3. 저장된 값을 공유 데이터에 저장 - 문제 : 일관된 답을 주지 않음 상호 배제 ..

Process Scheduling

다중 프로그래밍(Multi Programming) - 여러 개의 프로세스가 시스템 내 존재 - 자원을 할당할 프로세스를 선택해야 함 => 스케줄링 - 자원 관리 * 시간 분할 관리 + 프로세스 스케줄링 : 프로세서 사용시간을 프로세스에게 분배 * 공간 분할 관리 + 하나의 자원을 분할하여 동시에 사용 => 메모리 스케줄링 목적 - 시스템 성능 향상 - 성능 지표 * 응답시간 * 작업 처리량 * 자원 활용도 용어 표현 스케줄링 기준 및 단계 1. 스케줄링 기준 - 프로세스의 특성 : I/O-bounded, compute-bounded - 시스템 특성 : 일괄 시스템(Batch system), 대화형 시스템(interactive system) - 프로세스의 긴급성 : Hard real-time, Soft r..

Thread 관리

Thread - 자원을 공유하지만 각자의 제어 요소를 갖는 것 - 자원을 공유하기 때문에 작업을 효율적으로 진행 - Processor 활용의 기본 단위로 CPU 병렬처리가 가능 Thread 구성요소 - Thread ID - Register set(PC, SP 등) - Stack(i.e. local data) Thread의 장점 - 사용자 응답성 : 일부 Thread의 처리가 지연되어도, 다른 Thread는 작업을 계속 처리 - 자원 공유 : 효율성 증가 - 경제성 : Context Switch가 발생하지 않아서 비용 경제적 - 멀티 프로세서 활용 : CPU 병렬처리 가능으로 작업 효율 증대 예시 FPS게임을 한다고 하자. 모니터와 마우스, 키보드 I/O가 존재한다. 이 3개는 Thread가 하나씩 담당하..

Process 관리

프로그램과 프로세스 - 프로그램(작업) : 실행할 프로그램 + 데이터로 컴퓨터 시스템에 실행 요청 전의 상태 - 프로세스 : 실행을 위해 시스템(커널)에 등록된 프로그램(작업) 자원 - 커널의 관리 하에 프로세스에게 할당/반납되는 수동적 개체 PCB(Process Control Block) - OS가 프로세스 관리를 위한 정보를 저장한 블록 - 관리하는 정보 : PID, 스케줄링 정보, 프로세스 상태, 메모리 관리 정보, 입출력 상태 정보 등 프로세스 상태 - Admitted State : 작업을 커널에 등록, PCB 할당 및 프로세스 생성 - New -> Ready : 메모리 할당 받는 상황 - Ready State : 프로세서 외에 다른 모든 자원을 할당 받은 상태, 프로세서 할당 대기, 즉시 실행 ..

OS Overview 2

1. 운영체제의 역할 - User Interface(편리성) * GUI : 컴퓨터를 켜면 아이콘이 있고 마우스가 있는 그림 형태 - Resource management(효율성) * HW resource : processor, memory, I/O devices * SW resource : file, application, message - Process and Thread management - System management(시스템 보호) 2. 운영체제의 구분 - 동시 사용자 수 * Single-user system : 한 명의 사용자만 시스템 사용. Windows * Multi-user system : 동시에 여러 사용자들이 시스템 사용. Unix, Linux - 동시 실행 프로세스 수 * 단일 작업..

OS Overview 1

운영체제란? - 사용자에게 서비스를 제공하기 위해서 하드웨어를 관리하는 소프트웨어 운영체제를 왜 배울까? - 우리가 실제로 OS를 손 볼 일은 거의 없다. 그러나 OS와 비슷한 것을 매번 만든다. 그것은 우리가 개발하는 프로그램이다. 우리가 개발하는 프로그램은 일종의 OS이다. 따라서, OS의 효율적인 작동 방법을 배운다면, 우리가 개발하는 프로그램에 적용하여 효율적인 프로그램을 개발할 수 있다. 하드웨어 종류 - 프로세서: CPU, GPU - 메모리: 메인 메모리, 보조 메모리 - 주변 장치: 키보드, 마우스, 모니터 등 1. 운영체제와 프로세서 1) 하는 일 - 프로세서에게 처리할 작업 할당 및 관리: 프로세서 생성 및 관리 - 프로그램의 프로세서 사용 제어: 프로그램의 프로세서 사용 시간 관리 2)..

Android Studio에 OpenCV import하기

OpenCV library 다운로드 https://opencv.org/releases/ 로 가셔서 openCV를 다운로드 합니다. 저는 3.4.10를 사용했습니다. import OpenCV OpenCV library를 import해야 합니다. OpenCV-android-sdk/sdk/java를 선택합니다. Implementation OpenCV Dependencies에 OpenCV를 implementation합니다. 1. 쉬운 방법 build.gradle app에 아래 처럼 작성합니다. 2. 번거로운 방법 Project Structure로 이동합니다. Module dependency를 선택합니다. 추가하려는 OpenCV를 선택합니다. file 복사 인터넷에 알아보니 위 방법만 소개한 곳이 많았습니다. 그..

IT/Android 2020.05.14

[Improving: Hyper-parameter tuning, Regularization and Optimization] Multi-class classification - softmax classifier

This note is based on Coursera course by Andrew ng. (It is just study note for me. It could be copied or awkward sometimes for sentence anything, because i am not native. But, i want to learn Deep Learning on English. So, everything will be bettter and better :)) INTRO The name Softmax comes from constrasting it to a Hardmax which would have taken the vector Z and matched it to vector like this ..

반응형