본문 바로가기

전체 글232

도커 이미지와 컨테이너 레포지토리 [42 inception 과제 개념 2] 도커 이미지와 도커 컨테이너많은 사람들은 이 도커 이미지와 도커 컨테이너 용어를 혼용해서 사용하고 있습니다.사실 이 둘 사이에는 큰 차이점이 존재합니다. 다만, 쉬운 이해를 위해 설명할 때도 혼용을 해서 많이 사용하였습니다.💡쉽게 이해하면 이미지는 컨테이너를 저장한 설계도 입니다.이미지는 컨테이너를 저장하고 이동하는데 주로 사용 됩니다.이미지를 실행하면 컨테이너가 실행이 됩니다.👨🏻‍💻이미지란, 실제 어플리케이션 패키지를 의미합니다. 이 패키지 내부에는 설정과 종속성 등 모든 것들이 들어있습니다. 또한 이미지는 이동 가능한 아티팩트입니다. 한마디로 말하면 완성품 패키지라고 보면 됩니다.로컬 컴퓨터에서 필요한 이미지를 가져오고 이미지를 실행시킵니다. 그러면 이미지 내부 어플리케이션이 컨테이너 환경을 생성하.. 2023. 6. 24.
도커와 가상머신 그리고 컨테이너 [42 inception 과제 개념 1] 도커란 무엇인가?도커에 대한 쉽게 비유적으로 설명한 영상 2가지 먼저 첨부하겠습니다.짧은 영상긴 영상공식 사이트Docker는 애플리케이션 개발, 배송 및 실행을 위한 개방형 플랫폼입니다.Docker를 사용하면 애플리케이션을 인프라에서 분리하여 소프트웨어를 신속하게 제공할 수 있습니다. Docker를 사용하면 애플리케이션을 관리하는 것과 동일한 방식으로 인프라를 관리할 수 있습니다.Docker docs 사이트에 있는 docker의 설명입니다.이것만 보면 무슨말인지 이해하기 어렵습니다. 당연합니다. 배경지식부터 차근차근 쌓아갑시다.일단 도커에 대해서 말하려면 필요한 가상화 기술에 대해서 먼저 이야기하고, 가상화 기술인 가상머신과 컨테이너에 대해서 이야기해보겠습니다.가상화 기술의 등장배경우리가 어떤 프로그램을.. 2023. 6. 24.
[시스템 프로그래밍 12-2강] Memory Management 페이징 기법 Dynamic Memory Allocation동적할당(일명 힙 할당)은 프로그래밍 언어가 객체를 생성할 때 메모리를 예약하는데 사용하는 기술입니다.우리가 high level 언어를 쓰다보면 다이나믹 메모리를 할당을 많이 쓴다.(new, malloc등)실제 C,C++,Java등에는 런타임 힙 관리자가 존재한다.힙 관리자는 스토리지 할당 및 해제를 위한 프로그래밍 요청을 처리한다.일반적으로 프로그램이 시작될 때 OS에서 큰 메모리 블록을 할당한다.스토리지 블록에 대한 Free pointer 목록을 생성한다.실제로 heap을 사용하는건 어셈블리 언어에서 지원하는게 아니라 윈도우 API를 사용해서 해준다.Window API리스트따라서 이걸 깊게 들어가지는 않습니다.GetProcessHeapEAX에 default.. 2023. 5. 28.
[시스템 프로그래밍 12 -1강]advanced processor (Stack Frames) 개요우리가 지금껏 쓰던 프로시저(PROC)는 그냥 코드의 위치를 변경하는 것 뿐이었다.사실 high level 언어인 C나 CPP나 모두 함수를 할 때 processor를 쓰는것이다.하지만 고급 언어에서는 함수로 인자를 넘겨주는 것을 볼 수가 있다. 오늘은 어떻게 인자를 함수에 넘겨주는가에 대해서 배울 것이다.물론 그 방법을 이해하기 앞서 필요한 개념들을 먼저 설명하도록 하겠다.Stack Frames1. Stack Parametersstack Frame이란 간단히 말해 다음의 것들을 저장하기 위해서 스택의 영역이다.함수에게 전달된 인수(인자)가 스택에 저장된다.서브루틴의 반환주소(리턴 주소)로컬 변수(함수 안에서 사용하는 로컬 변수로 스택에서 지역변수에 대한 메모리 공간이 할당 되는 것이다.)저장된 레지.. 2023. 5. 28.
13강 Beyond Digital (아날로그, 양자컴퓨터,HDL등등) 아날로그 신호자연스러운 신호는 아날로그 신호이다. 예: 빛, 소리, 열(온도), 압력아날로그 신호 관찰 방법? 센서로 감지한다.주변 환경의 이벤트 또는 변화를 감지하는 장치예 ) 카메라, 마이크, 온도계, 기압계…아날로그 전압을 디지털로 변환하는 방법? 아날로그-디지털 컨버터(ADC)아날로그 전압 또는 전류를 디지털 숫자로 변환하는 전자장치디지털 데이터를 아날로그로 변환하는 방법? : 디지털-아날로그 변환기 (DAC)디지털 번호를 아날로그 신호로 변환하는 전자장치스피커로 소리를 출력하는 경우 예시입력 신호에 따라서 전압을 설정해줘서 그 값을 출력해줍니다.그 전압으로 스피커를 움직이게 해줘서 소리를 내개 해준다.디지털 전자 컴퓨터우리는 PC, 노트북, 스마트본 등과 같은 디지털 전자 컴퓨터를 사용했다.디지.. 2023. 5. 24.
12강 Memory and Storage Devices (RAM, SRAM,ROM,FLASH memory) 지금까지는 정보를 어떻게 처리할지에 대해서 배웠다면 이제부터는 정보를 어떻게 저장할 지에 대해서 배울 차례이다.오늘 배울 거는 매우 큰 수준의 byte의 수준의 저장을 배울 거싱다. (RAM, ROM, Flash memory, HDD, SSD)RAMRandom Access Memory (RAM)임의의 순서로 읽고 쓸 수 있는 메모리 유형(~랜덤 액세스) 일반적으로 휘발성(volatile) 메모리이다.전원이 꺼지면 RAM의 콘텐츠가 제거됩니다. 일반적으로 작업 중인 데이터를 저장하고 기계 코드를 저장하는 데 사용됩니다.Static RAM (SRAM)플립플롭 또는 트랜지스터를 사용하여 구현됨 DRAM보다 빠른 읽기/쓰기 속도 일반적으로 CPU 캐시, CPU 레지스터 파일, HDD 버퍼 및 라우터 버퍼에 사용.. 2023. 5. 24.
11강 순차논리 회로 다양한 예제 (비동기 카운터,Modulo-m Counter, Preset Counter,Serial-to-Parallel Register, Serial-to-Serial Register,parallel-to-parallel register) 지난 시간에는 동기모드에 대해 배웠다.이번시간은 비동기모드 카운터와 레지스터에 대해 배운다.동기 카운터는 같은 클럭 신호를 받았었다.복습 : 동기 카운터4비트 동기 카운터는 4개의 j-k flip flop을 이용하면서 and gate 2개를 이용해서 셀 수가 있었다.비동기 카운터비동기 카운터는 플립플롭이 공동 클럭 신호를 사용하지 않는 카운팅 회로이다.비동기 카운터의 클럭 시그널은 이전 출력에서 나오는 JK플립플롭의 결과 값이다.이전에 동기 카운터에서는 가장 앞에 J,K에만 1이 들어갔지만 이제 비동기는 모든 J,K에 1이 들어가게 된다.이말은 쉽게 말해서 모든 JK-Flip-Flop이 토글 모드로 동작한다는 의미이다.이것의 별명은 Ripple counter이다. (이유: 파도처럼 작동하기 떄문에)이슈 .. 2023. 5. 24.
10강 Sequential Logic Circuits2 Design Process (Finite-state Machine(FSM) State transition table,Excitation table, 동기 카운터) 어떻게 Sequential Logic Circuits을 만들지 다뤄보겠다.JK Filp flop 복습심볼진리표더 풀어서 쓴 진리표여가표 (Excitation table)input과 output으로 보는 진리표와 달리 상태의 변화에 따라 JK의 input이 무엇이어야 하는지 나타내는 표이다. Finite-state Machine : 우리가 Sequential Logic Circuits을 쓸 때 state를 가지고 있는데 그 state를 표현할지에 대해서 어떻게 표현할 지 보여주기 때문에Design Process of Sequential Logic CircuitsFinite-state Machine(FSM)프로그래밍 할 때도 많이 사용된다.현재 내가 짜고싶은 알고리즘을 표현 할 수 있다.한정된 상태를 가진 .. 2023. 5. 24.
9강 Sequential Logic Circuits : 메모리 소자.(Flip-flop과 latch들) 복습 Combinatorial Logic Circuit(조합논리 회로) vs. Sequential Logic Circuit (순차논리 회로) Combinatorial Logic Circuit과 Sequential Logic Circuit의 가장 큰 차이점은 입력이다.Combinatorial Logic Circuit 현재의 입력이 output에 영향을 준다.stateless(memotyless) 라고 부른다.예시 : arithmetic logic unit (ALU), half adders, full adders, multiplexers, encoders, and decodersSequential Logic Circuit 결과에 현재의 입력 뿐 아니라 과거의 입력도 영향을 준다.예시 : TV 채널sequen.. 2023. 5. 24.