본문 바로가기

분류 전체보기

(146)
쓰레드(Thread) 쓰레드(Thread) -프로그램 내부의 흐름 다중 쓰레드(Multi Threads) -한 프로그램에 2개 이상의 맥 -여러 맥이 동시에 실행되는것처럼 보인다(Concurrent) cf.Simultaneous(물리적 동시) -현대에는 Process단위가 아니라 Thread단위로 Context switching 쓰레드의 구조 -프로세스의 메모리 공간(Code, data), 자원(File, I/O) 공유 -개별적인 PC, SP(Stack Pointer), Registers, stack 비공유
주소 지정 방식 주소 지정 방식 0단계 주소 지정 방식 1단계 주소 지정 방식 2단계 주소 지정 방식 0단계 주소 지정 방식 -즉시 주소 지정 방식(immediate addressing mode) -명령어 피연산자 필드에 실제 데이터가 포함 묵시적 주소 지정 방식(implied addressing mode) -누산기나 스택에 데이터 존재 1단계 주소 지정 방식 -레지스터 주소 지정 방식(Register addressing mode) -직접 주소 지정 방식(Direct addressing mode) 2단계 주소 지정 방식 -레지스터 간접 주소 지정 방식(Register-indirect addressing mode) -메모리 간접 주소 지정 방식(Indirect addressing mode) -변위 주소 지정 방식(Indi..
배열(array) 배열이 무엇인가? -메모리상에 원소를 연속하게 배치한 자료구조 Vector(C++)는 무엇인가? -배열과 유사하나 크기를 자유자재로 변경이 가능 배열의 성질은? O(1)에 K번째 원소를 확인/변경 가능 추가적으로 소모되는 메모리의 양이 거의 없음 Cache hit rate가 높음(확률적으로 바로 옆의 메모리를 쓰는 경우가 많음) 메모리상에 연속된 구간을 잡아야해서 할당에 제약이 걸림 배열의 용도는? 데이터를 자주 바꾸지 않고 쌓아둘때 입력값을 담아둘때 인덱스에 해당하는 원소를 O(1)으로 접근할때 문제해결에 있어서 배열의 활용 방식은? ex1) 알파벳 갯수 세기: freg[c - 'a']++; ex2) 인덱스를 활용한 카운팅 STL vector v1(4,5); // {5,5,5,5} cout
CPU 스케쥴링(CPU Scheduling) CPU Scheduling -Scheduling criteria -CPU utilization(CPU 이용률): CPU가 얼마나 이용되는지 -Troughput(처리율): 시간당 몇개의 작업이 끝나는지 -Turnaround time(반환시간): 처음시작부터 종료될때까지 걸린시간(대기시간 포함) -Waiting time(대기시간): Ready queue에서 얼마나 기다렸는지 -Response time(응답시간): 실행후 처음 응답이 나올때까지 걸린 시간 CPU Scheduling Algorithms -First-Come-First-Served(FCFS) -Simple-Fair -Convoy Effect(호위 효과): 앞에 긴 작업으로 인해 종속적으로 오래 기다림 -Non-preemptive -Shortest..
명령어 집합 분류 컴퓨터 구조 종류 스택(Stack) 컴퓨터: CPU 내의 스택을 데이터 저장소로 사용 누산기(Accumulator) 컴퓨터: ACC 레지스터를 연산관련 유일한 데이터 저장소로 사용 범용 레지스터(General Purpose R) 컴퓨터: 다수의 레지스터 각 종류별로 명령어 인출 트래픽과 데이터 이동 트래픽의 합을 비교
정확률과 재현율 완벽정리 이거 정말 헷갈리는 개념인데요. 그냥 블로그에 위키백과만 가져와서 붙여넣기한 포스팅만 보면 완전히 헷갈립니다. 이 포스팅을 보시면 완벽히 이해되실 겁니다. 가장 중요한게 모델의 예측(긍정,부정)과 진리표 입니다. 왜 중요하냐면 성능지표가 두가지 관점이기 때문입니다. True Positive(TP) : 참인 긍정 (진리표: 참) False Positive(FP) : 틀린 긍정 (진리표: 거짓) False Negative(FN) : 틀린 부정 (진리표: 참) True Negative(TN) : 참인 부정(진리표: 거짓) 여기서 우리는 모델의 성능을 알고 싶습니다. 일반적으로 맞는걸 찾는것에 관심이 많기때문에 모델의 성능은 정확률과 재현율을 가장 많이 씁니다. 정확률은 쉽습니다. 모델이 긍정으로 찾은것중에 실..
프로세스 프로세스 -RAM에 적재된 프로그램 -PCB(Process Control Block): 프로세스에 대한 모든정보 Scheduler -Job scheduler(long-term scheduler): Job queue 관리 -CPU scheduler(short-term scheduler): Ready queue 관리 -Device scheduler: Device queue 관리 Multiprogramming -Degree of Multiprogramming: 메모리에 프로세스 몇개인지 -I/O bound(주로 문서) vs CPU-bound(주로 계산) process -Medium-term scheduler -swapping: os가 메모리를 감시 → 프로세스를 Disk(Backing store)로 내보내거나..
운영체제 서비스 개요 운영체제 서비스 개요 -프로세스 관리 ·프로세스 생성, 소멸, 일시중지, 재개, 통신, 동기화 ·교착상태 처리 -주 기억 장치 관리 -공간 할당 -프로세스 추적 및 감시 -메모리 회수 -가상 메모리 -파일 관리 -파일의 생성과 삭제 -디렉토리의 생성과 삭제 -기본 동작 지원: open, close, read, write등 -Track/Sector ↔ file과 매핑 -백업(backup) -보조 기억 장치 관리 -빈 공간 관리 -저장 공간 할당 -디스크 스케쥴링: head 적게 움직이도록 -입출력 장치 관리 -장치 드라이브(Device drivers) -성능향상: buffering, caching, spooling