컨테이너
·
CS/운영체제
컨테이너• 애플리케이션이 독립된 실행공간을 확보하도록 하는 운영체제 수준의 가상화 기술• "독립된 실행공간 확보": • 애플리케이션의 독립된 실행을 위해 자원을 격리함 • 애플리케이션 코드 실행에 필요한 요소(라이브러리등)를 묶음• "운영체제수준": 각 컨테이너들은 같은 호스트 운영체제 커널을 공유함• "가상화기술": 다양한 컴퓨팅 환경에서 일관되게 실행할 수 있도록 하는 가상 실행 환경• docker, lxc, ... Docker는 현업에서 많이 사용해봤기에... Docker 실습은 생략 컨테이너 오케스트레이션쿠버네티스자동화된 배포 및 관리: 컨테이너생성, 시작, 중지 및 재시작 등의 작업을 자동으로 수행확장 관리: 애플리케이션 부하에 따라 컨테이너 수를 동적으로 조절하여 자원을 효율적으..
파일 시스템
·
CS/운영체제
파일과 디렉터리파일과 디렉터리를 관리하는 커널의 한 부분다양한 파일시스템이 있고 여러 파일 시스템을 동시에 사용할 수 있음파일 (file)- 보조 기억장치의 의미있는 정보의 집합- 구성 요소 - 이름 - 실행하기 위한 정보 - 메타데이터 | 속성 * 많은 운영체제는 디렉터리를 파일과 동일하게 간주한다. 파일 시스템이 만들어지기까지보조기억장치 하나에 단일한파일 시스템이 사용되는 것이 아니다파이셔닝(partitioning): 보조기억장치의 영역을 구획하는 작업파티션(partition): 보조기억장치에서 구획된 영역* 포매팅: 파일 시스템을 만드는 작업 # mkfs -t ext3 /dev/sdb1 (make file system 의 약자) 파일 시스템 종류와 특성[FAT 기반 파일 시스템..
가상 메모리 관리
·
CS/운영체제
페이징과 페이지 테이블스와핑(swapping)프로세스를 보조기억장치의 일부 영역으로 쫓아내고 당장 필요한 프로세스를 적재하는 메모리 관리 기법스왑 아웃(swap-out)프로세스를 보조기억장치의 일부 영역으로 쫓아내는 것스왑 인(swap-in)스왑 아웃된 프로세스를 메모리에 적재하는 것스왑 영역스왑 아웃된 프로세스가 적재되는 보조기억장치 영역 * 연속 메모리 할당. - 이렇게 할당하면 외부 단편화 문제가 발생함. (작업 끝나면 빈 공간이 생기는 메모리 낭비 문제) [Paging]메모리와 프로세스를 일정한 단위로 자르고.그 메모리(Frame)에 프로세스(Page)를 할당한다면 외부 단편화 문제가 안 생김. BUT 페이징을 사용하면. 내부 단편화가 생김.1개의 프로세스당 1개의 페이지 크기보다 작은 메..
동기화와 교착 상태
·
CS/운영체제
프로세스 동기화1. 실행 순서 제어: 프로세스를 올바른 순서로 실행하기2. 상호 배제: 동시에 접근해서는 안되는 자원에 하나만 접근하기 레이스 컨디션(race condition)- 임계 구역을 동시에 설정하여 발생하는 문제. (상호 배제) 생산자와 소비자 문제동기화가 이루어지지 않았을 경우 발생할 수 있는 문제를 보여주는 고전적 문제- producer: 생상을 하는 프로세스(혹은 스레드)- consumer: 소비를 하는 프로세스(혹은 스레드) 뮤텍스와 세마포어뮤텍스 락 (Mutex Lock)- 자물쇠 역할: 프로세스들이 공유하는 전역변수 lock- 자물쇠 잠그기: acquire 함수- 자물쇠 열기: release 함수 (잠겨있는지 계속 확인하는 방법: busy waiting) 세마포(semaphore)-..
CPU 스케줄링
·
CS/운영체제
프로세스 우선순위와 스케줄링 큐운영체제가 공정하고 합리적으로 자원을 배분하는 방법 == 스케줄링 정해진 시간 동안 돌아가면서 CPU를 사용하는 것이 가장 좋나? => NO!프로세스마다 우선순위*가 다르다. ps -el을 통해 우선순위를 볼 수 있음. 우선순위의 차이를 보이는 대표적인 프로세스 유형* I/O bound process > CPU bound processCPU burst, IO burstIO bound process는 잠깐 실행하고 나면 볼 일이 없음. (거의 바로 대기상태) 그래서 우선순위가 높음. 프로세스 우선순위를 토대로 CPU 할당 받는 방법 == CPU 스케줄링 알고리즘 스케줄링 큐 = '줄'자원은 한정되어 있고 실행 중인 프로세스는 여러 개프로세스들의 요구사항을 일목요연하게 관리하는..
프로세스와 스레드
·
CS/운영체제
커널 영역과 사용자 영역의 프로세스Foreground processBackground process 프로세스 제어 블록 PCB는 운영체제 커널 영역에 적재되어 있음. 프로세스 제어 블록 (PCB)PID (PPID)레지스터스케줄링 정보 - CPU를 얼마나 자주 할당 받을 지.메모리 정보 - 메모리에 어디 적재되어 있는 지.사용한 파일 정보입출력장치 정보문맥 교환실행을 재개하기 위한 정보를 주고 받는 것. 한정된 자원을 공유하면서 여러 프로세스가 번갈아서 실행됨. 사용자 영역 코드 영역실행 가능한 코드; 기계어로 이루어진 명령어 [Read-Only]데이터 영역프로그램이 실행되는 동안 유지할 데이터 (e.g. 전역변수) * BSS 영역: 프로그램 실행 동안 유지할 데이터중 초기값 없는 데이터힙 영역사용자(개..
운영체제
·
CS/운영체제
운영체제운영체제는 자원을 관리하고 할당하는 특별한 프로그램 운영체제의 핵심부, 커널(kernel) 운영체제 == 커널응용 프로그램은 자원에 직접 접근이 불가능함 : 운영체제를 거쳐서 접근함 시스템 콜: 운영체제 서비스를 제공받기 위해 커널 모드로 전환하는 것 (인터럽트의 일종)가상 머신에 리눅스 설치하기Virtual BOX 활용.https://www.virtualbox.org/wiki/Downloads Downloads – Oracle VirtualBoxThis VirtualBox Extension Pack Personal Use and Educational License governs your access to and use of the VirtualBox Extension Pack. It does ..
GPU
·
CS/컴퓨터구조
병렬성과 동시성병렬성(parallelism): 실제로 물리적으로 동시에 작업을 처리하는 성질 동시성(concurrency): 동시에 작업을 처리하는 것처럼 보이는 성질 *CPU 하나의 코어에서 여러 스레드를 동작할때: 동시성*여러개의 CPU 코어가 동작할때: 병렬성 GPU [덧셈 뺄셈 삼각함수 연산 등 간단하게 할 수 있는 코어가 엄청나게 많음] GPU 구조 CPUGPU목적Latency 감소한 작업을 빨리 실행Throughput 증가여러 작업을 한 번에 실행코어 수수십 개수천 개코어 성능상대적으로 높음상대적으로 낮음메모리 대역폭상대적으로 작음상대적으로 큼캐시 메모리상대적으로 큼상대적으로 작음용도'주요' 프로세서'보조'프로세서 딥러닝과 GPU• 딥러닝 연산: 단순 연산(행렬연산[더하기, 곱하기], 벡..
보조기억장치와 입출력장치
·
CS/컴퓨터구조
하드 디스크와 플래시 메모리하드 디스크헤드: 플래터(CD처럼 생긴 부분)의 데이터를 읽고 쓰는 부분디스크 암: 헤드를 옮기는 부분복수의 헤드와 복수의 플래터가 있음. 플래시 메모리NAND 플래시 메모리 RAIDBIOS에서 RAID Level 설정 가능.RAID설명RAID 0데이터를 단순히 보조기억장치에 나누어 저장하는 구성 방식: 성능 개선 / 신뢰성은 감소RAID 1복사본을 만드는 방식 (미러링)RAID 4패리티 비트(parity bit)라는 오류 검출용 비트를 저장하는 장치를 따로 두는 방식 패리티 비트를 저장한 디스크가 너무 많이 사용되는 문제점RAID 5[RAID 0 + RAID 4] 패리티 비트를 분산하여 저장하는 방식RAID 6[RAID 0 + RAID 4 + RAID 4] 패리티를 두 개 놓..
메인 메모리와 캐시 메모리
·
CS/컴퓨터구조
RAM & ROMRAM(Random Access Memory): 휘발성 저장장치RAM의 종류설명DRAM (Dynamic RAM)시간이 지나면 점차 저장된 데이터가 사라지는 RAM 메인 메모리에서 주로 사용되는 RAMSRAM (Static RAM)시간이 지나도 저장된 데이터가 사라지지 않는 RAM 캐시 메모리에서 주로 사용되는 RAM (얘도 휘발성임)SDR SDRAM (SynchromousDynamic RAM)클럭과 동기화된 RAM 클럭의 타이밍에 맞춰 CPU와 정보를 주고받을 수 있는 RAM (SDR: SingleData Rate RAM)DDR SDRAM (Double Data Rate SDRAM)대역폭을 넓혀 속도를 높인 RAM SDRAMDDR2 SDRAM (SDR*4)SRD에 4배 대역폭DDR3 S..