전체 글 24

FastCamPus X Upstage AI 5기 컴퓨터 공학 개론

정리를 해야하는 이유- 컴퓨터 성능, 신뢰성, 에너지 효율성 등을 결정하기 때문에 우리는 컴퓨터 구조에 대해 알아야 한다. 정리하며 알아야 할 것- 컴퓨터 구조와 구성요소- 구성요소들의 상호작용에 대한 설계 스택 : LIFO(Last In First Out) : 삽입삭제가 항상 제일 뒤(최근 요소에서 이루어진다.) 큐 : LIFO(Last In First Out): 리스트 큐, 원형 큐가 있다 Array: 연속된 메모리 공간에 같은 타입의 데이터를 순차적으로 저장하는 자료구조: 인덱스로 빠르게 접근 가능: 크기가 고정되어있기 때문에 배열 생성시 크기를 지정해줘야함 LinkList : Array와는 다르게 메모리를 할당하지 않아도 자유롭게 원소를 추가/삭제가 가능하다 Hash Table: 데이터의 key ..

운영체제 - 페이징과 페이지 테이블

스와핑: 프로세스를 보조기억장의 일부 영역으로 쫓아내고, 당장 필요한 프로세스를 적재하는 메모리 관리기법 페이징: 외부 단편화(연속적 메모리 할당 중 프로세스가 실행되고 삭제되면서 메모리가 충분함에도 불구하고 프로세스를 실행할 수 없는 상태)를 막기 위해 프로세스를 페이지 단위로 나눈것  : 단, 내부 단편화가 발생할 수 있음(페이지 내부에 빈 메모리가 발생)   페이지 테이블: 프레임과 페이지 매핑 정보를 담고 있는 표 형태의 데이터: 프로세스마다 페이지 테이블을 가지고 있다.   페이지 테이블 베이스 레지스터(PTBR): 각 프로세스의 페이지 테이블 위치를 가리키는 레지스터(베이스 레지스터) 페이지 테이블의 캐시메모리(TLB): 페이지 테이블이 메모리에 적재되면 페이지의 위치를 찾느라 한번, 프레임에..

운영체제 - 프로세스 동기화

프로세스 동기화: 실행 순서와 자원의 일관성을 보장해야한다. 실행 순서 제어 : 프로세스를 올바른 순서로 실행하기  -> 1,2번 프로세스가 있을때, 1번이 반드시 실행되어야 2번이 실행될 수 있는것 상호배제: 동시에 접근해서 안되는 자원에 하나만 접근하기: 공유 자원, 임계 구역 *공유 자원: 파일, 입출력 장치, 전역 변수... *임계 구역: 공유자원에 접근하는 코드 *race condition : 임계구역을 동시에 실행 자원의 일관성이 깨지는 현상  교착상태: 서로의 자원을 무한히 기다리는 상태 조건- 상호 배제 : 한 프로세스가 임계구역에 진입했다면 다른 프로세스는 기다려야 함- 점유와대기 : 자원을 할당 받고 다른 자원 할당을 대기- 비선점 : 강제로 자원을 빼앗을 수 없는 상태- 원형대기 : ..

운영체제 - CPU 스케쥴링

CPU 스케줄링 : 한정된 CPU 로 여러 프로세스를 실행한다. 우선순위에 따른 프로세스 유형: I/O bound process(입출력 : IO burst), CPU bound process(CPU : CPU burst): i/o bound process > cpu bound process  i/o가우선순위가 높다  스케쥴링 큐 준비큐(ReadyQueue) : cpu 이용을 기다리는 큐대기큐(Run Queue) :  대기 상태 프로세스들이 기다리는 큐 선점형 스케쥴링: 현재 실행중인 프로세스의 자원을 뺴앗아 실행-> 문맥교환 과정에 오버헤드 발생 - SJF 스케쥴링  : 짧은 프로세스 먼저 실행 - 라운드 로빈   : 선입 선처리 스케줄링 + 타임 슬라이스만큼 실행  - 최소 잔여 시간 우선 스케줄링(S..

운영체제 - 리눅스 + 프로세스/스레드

운영체제란?: 윈도우, 맥 os, 리눅스 : 운영체제는 자원을 관리하고 할당하는 특별한 프로그램 : 응용프로그램 -> 운영체제 -> 하드웨어  * 커널 영역: 운영체제가 적재된 메모리 영역 * 사용자 영역: 응용 프로그램이 실행되는 메모리 영역  커널: 운영체제의 핵심 부분, 프로세스, 네트워크.. 자원 할당 소스코드 리눅스 설정 - 환경 설정virtual box : 윈도우 내에 리눅스 운영체제를 사용할 수 있게하는 프로그램 : https://www.virtualbox.org/wiki/Download_Old_Builds_7_0리눅스 ui : virtual box 에서 리눅스 실행할때, ui  이미지를 설정 https://releases.ubuntu.com/jammy/ - 설치 프로그램gcc 설치(오픈 소..

컴퓨터구조 - 명령어

컴퓨터가 c/c++ 을 이해하게 되는 과정 : 컴퓨터는 0/1의 구조로만 이해를 하게 된다: 컴파일과정 자체는 소스코드 -> 전처리기 -> 컴파일러 -> 어셈블러(목적 코드 생성) -> 링커 -> 프로그램 실행 가능 * 컴파일러와 인터프리터의 차이    컴파일러 - 소스코드를 목적코드(기계어)로 변환   인터프리터 - 한 줄씩 검사, 목적코드로 변환 * 컴파일되어 어셈블리어로 구성된 코드 확인- 어셈블러의 명령어의 수는 CPU나 소프트웨어에 의해 달라진다.( CISC, RISC / 주소 명령어 체계 등등) 명령어와 명령어 주소 체계: 오퍼랜드의 갯수에 따라서 명령어의 갯수가 달라진다. 명령어의 종류 1. 데이터 전송   move 데이터를 옮겨라store 메모리에 저장해라load(fetch) 메모리에서 가..

FastCamPus X Upstage AI 5기 Statistics(통계학) 강의

목표1. 통계학이란 무엇일까?2. 우리는 왜  AI를 접하기 위해 통계학을 해야만 할까?3. 통계학을 어느 정도의 깊이로, 어떤 입장으로  어떻게 공부를 해야할까? 1. 통계학이란 무엇일까? 통계학은 데이터를 수집, 분석, 해석, 표현하는 학문입니다. 다양한 분야에서 데이터를 활용하여 현상을 이해하고 예측하는 데 중요한 역할을 합니다. 통계학은 확률론에 기반하여 불확실성을 다루고, 실험이나 조사 결과를 통해 결론을 도출하는 방법을 제공합니다. 2. 우리는 왜  AI를 접하기 위해 통계학을 해야만 할까?AI, 특히 머신러닝 모델은 데이터 기반으로 학습합니다. 통계학은 데이터의 특성과 분포를 이해하고, 모델의 성능을 평가하는 데 필수적인 도구입니다. 통계학적 지식을 통해 데이터 전처리, 변수 선택, 결과 해..

기술 통계 + 통계 실험과 유의성 검사

목표   1. 모집단과 표본 / 샘플링 모집단(Population)통계를 통해 알고 싶어하는 군단모집단의 특정(모수 : parameter) - 모평균, 모분산, 모표준편차 등 표본(Sample)모집단의 분포, 특성을 알기 위해 모집단에서 추출된 일부 집단표본의 특성(통계량 : statistic) - 표본평균, 표본분산, 표본표준편차 등 추출(Sampling)모집단에서 표본을 추출하는 방법  추출 방법 :- 단순 샘플링(랜덤 샘플 추출)- 층화 샘플링(모집단을 그룹으로 나눠서 각 그룹에 랜덤하게 몇몇을 뽑는 형식)- 계통 샘플링(모집단 데이터에 1~n 번호를 붙여서 일정 간격별로 데이터를 추출하는 방법)- 군집샘플링(모집단을 군집으로 여러개 나누고 여러개의 군집중 몇몇개만 뽑아서 데이터로 사용한다) 추론(..

기초 통계량 - 데이터 분포 이해 (분산도)

목표 통계를 알아보자 분산도란?데이터의 변동성을 나타내는 지표입니다.분산이 높을수록 평균값 주위로 넓게 퍼져있음을 뜻하고, 분산이 낮을수록 평균값에 가까이 모여있습니다. 1. 분산도에 사용되는 용어편차 : 현재 데이터 - 산술평균분산 : 편차 제곱의 평균표준 편차 : √분산 2. 사분위  Q1 : 중앙값의 25퍼센트Q3 : 중앙값의 75퍼센트Medium : 중앙값IQR : Q3 - Q1 Minimum :  Q1에서 IQR 1.5배를 뺸 값  -   Q1 - 1.5 IQRMaximum : Q3에서 IQR 1.5배를 더한 값  - Q3 + 1.5 IQR Outliers : Minimum, Maximum 을 넘어가는 이상한 값 (이상치) 3. 변동 계수변동 계수  = 표준편차 / 평균 A 회사의 평균 월 매출..

기초 통계량 - 데이터 분포 이해 (대푯값)

목표 통계를 배워보자  우리는 왜 통계를 배워야 하는가?- 데이터의 분포, 중앙값, 분산등을 이해하는데, 도움을 주며 이는 ai 모델 성능에 영향을 줄 수 있다.- 데이터를 분석해서 패턴을 찾고 예측한다 1. 대푯값을 찾아라  - 평균값, 중앙값, 최빈값실무에서 어떤 값을 기준으로 고려할지 생각해보자  1) 평균값 - 산술평균, 기하평균, 조화평균 산술평균 - 정말 평균 값을 알고 싶을때, 예를 들어 n명의 연봉 평균=> (a의 연봉 + b의 연봉 + c의 연봉) / (3) import pandas as pddf = pd.read_excel('{}.xlsx')df.mean() 기하평균 - 연 평균 증가율을 알고 싶을때, 예를 들어 매출 증가액=> 회사의 매출액 2019년 15억, 2020년 30억, 20..