반응형

전체 글 113

클라우드 네이티브(Cloud Native)란 무엇인가 ?

■ 클라우드 네이티브 (Cloud Native) 클라우드 네이티브 : 클라우드 컴퓨팅 모델을 사용하는 것을 전제로 설계된 시스템과 서비스 CNCF(Cloud Native Computing Foundation)에서는 클라우드 네이티브를 아래와 같이 정의하고 있습니다. 공식 문서를 참조하여 클라우드 네이티브가 무엇인지 공부해봅시다! (CNCF : 2015년 리눅스 파운데이션 (Linux Foundation) 산하에 설립된 재단이자 클라우드 네이티브 오픈소스 기술들을 추진하고 관리하는 단체입니다. 또한 처음 Cloud Natvie라는 용어를 사용한 재단입니디. 구글이 CNCF에 쿠버네티스(kubernetes)를 기증한 걸로 유명하죠. 즉 클라우드 네이티브를 가장 잘 정의하고 있는 재단이라고 생각하면 될 것 같..

Ops/Cloud 2021.07.26

[OS]Threads(스레드)

스레드란 프로세스의 실행 단위라고 할 수 있으며, 한 프로세스 내에서 동작되는 여러 실행 흐름으로 프로세스 내의 주소 공간이나 자원을 공유할 수 있다. 위의 그림과 같이 Code, data, files, registers, stack을 담고 있는 프로세스가 있다고 가정하자. 만약 사용자가 똑같은 프로그램 3개를 실행한다면, 아래의 그림과 같이 3개의 프로세스가 실행될 것이다. 그림을 보면 똑같은 프로그램을 바탕으로 실행한 프로세스임에도 불구하고, code, data, files 부분을 각각 갖고 있다. 이때 자원 낭비를 줄이고자 등장한 개념이 Threads(스레드)이다. code : 실행 중에 바뀌지 않기 때문에 1개만 존재하면 된다. data, files: 프로세스마다 다르기 하지만 자원 공유가 가능하..

CS/OS 2021.05.12

[OS]프로세스 간 통신(Interprocess Communication)

프로세스는 독립적(independet)이거나 협력적(cooperating)일 수도 있다. 프로세스가 협력적인 이유는 아래와 같다. 정보 공유(Information sharing) 계산 가속화(Computation speedup) 모듈성(Modularity) 편의성(Convenience) Cooperating processes는 데이터나 정보를 교환하기 위해 IPC 기법이 필요하다. IPC 기법 (크게 두 가지 있다( Shared memory Message passing Shared memory (공유 메모리) 통신을 하고자하는 두 프로세스가 일정한 메모리 영역을 공유함으로서 데이터를 주고 받는 기법 ex) A가 공유 메모리에 데이터를 쓰고, B가 공유 메모리에 있는 데이터를 읽는다면 데이터 공유가 가능함..

CS/OS 2021.04.30

[OS]프로세스 연산 (Operations on Processes ), 시스템 콜(System Call)

System Call fork( ), exec( ), wait( )와 같은 것들은 Process 생성과 제어를 위한 System call임. fork, exec는 새로운 Process 생성과 관련이 되어 있음 wait는 Process (Parent)가 만든 다른 Process(child)가 끝날 때까지 기다리는 명령어임. 프로세스 생성(Process Creation) 프로세스는 여러 개의 새로운 프로세스들을 생성할 수 있다. 생성한 프로세스를 부모 프로세스(parent process), 새로운 프로세스는 자식 프로세스라고 부른다. 또한 생긴 새로운 프로세스도 다시 프로세스를 생성할 수 있으며, 이러한 과정을 반복하면 프로세스 트리가 생성된다. 각 노드들은 프로세스 식별자(pid)를 사용하여 구분되며, 이..

CS/OS 2021.04.30

[OS]프로세스(Process)란?

프로세스 (Process) 프로세스란 실행 중인 프로그램을 의미한다. (프로그램 그 자체는 프로세스가 아님) 아래 사진은 프로세스가 메모리에 로드되어 있는 모습이다. 0 주소는 프로세스의 시작 위치 주소이고, max 표시는 프로세스의 마지막 주소를 의미한다. Text section : 프로그램의 명령들, 즉 코드들을 의미한다 + 코드가 실행 중이기 때문에 PC와 같은 프로세서 레지스터를 포함 Stack : 함수의 동작과 관련된 내용들이 저장되어 있음 ex) 함수의 복귀주소, 로컬 변수, 함수의 매개변수와 같이 임시적인 자료를 가지는 것들 Data : 전역 변수가 포함되어 있음 Heap : 동적으로 메모리가 할당 되었을 경우 사용됨 ex) C언어의 malloc 화살표 부분 : 프로세스의 영역이긴 하지만, ..

CS/OS 2021.04.29

[OS]멀티프로그래밍(Multiprogramming)

개요 프로세스(process)에 대해 공부하기 전에 먼저 멀티프로그래밍을 공부하는 것이 좋다. Uni-Programming (단일 프로그래밍) 멀티프로그래밍 이전에는 유니프로그래밍 방식으로 컴퓨터가 동작했다. 위의 사진을 보면 Program A가 실행될 때 RUN->Wait->Run->Wait 형태로 프로그램이 동작하기 된다. (이러한 RUN->Wait->Run->Wait 형태는 모든 프로그램에 공통되는 동작이다. CPU연산->입출력을 계속 반복하는 형태) 이때 Wait는 CPU idle 상태라고 하는데, I/O(입출력) 상태 이거나 다른 동작을 하고 있기 때문에 CPU가 일을 하지 않고 있다. 그 당시에는 CPU 연산과 같은 귀중한 자원이 idle 상태에 장기간 유지되는 것이 굉장한 낭비라고 생각되었기..

CS/OS 2021.04.27

[백준][1339번]단어 수학[JAVA]

문제 설명 민식이는 수학학원에서 단어 수학 문제를 푸는 숙제를 받았다. 단어 수학 문제는 N개의 단어로 이루어져 있으며, 각 단어는 알파벳 대문자로만 이루어져 있다. 이때, 각 알파벳 대문자를 0부터 9까지의 숫자 중 하나로 바꿔서 N개의 수를 합하는 문제이다. 같은 알파벳은 같은 숫자로 바꿔야 하며, 두 개 이상의 알파벳이 같은 숫자로 바뀌어지면 안 된다. 예를 들어, GCF + ACDEB를 계산한다고 할 때, A = 9, B = 4, C = 8, D = 6, E = 5, F = 3, G = 7로 결정한다면, 두 수의 합은 99437이 되어서 최대가 될 것이다. N개의 단어가 주어졌을 때, 그 수의 합을 최대로 만드는 프로그램을 작성하시오. 풀이 방법 백트래킹 + 구현문제였다. 문자열의 값을 부여하면서..

[백준][14500번]테트로미노[JAVA]

문제 설명 폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다. 정사각형은 서로 겹치면 안 된다. 도형은 모두 연결되어 있어야 한다. 정사각형의 변끼리 연결되어 있어야 한다. 즉, 꼭짓점과 꼭짓점만 맞닿아 있으면 안 된다. 정사각형 4개를 이어 붙인 폴리오미노는 테트로미노라고 하며, 다음과 같은 5가지가 있다. 아름이는 크기가 N×M인 종이 위에 테트로미노 하나를 놓으려고 한다. 종이는 1×1 크기의 칸으로 나누어져 있으며, 각각의 칸에는 정수가 하나 쓰여 있다. 테트로미노 하나를 적절히 놓아서 테트로미노가 놓인 칸에 쓰여 있는 수들의 합을 최대로 하는 프로그램을 작성하시오. 테트로미노는 반드시 한 정사각형이 정확히 하나의 칸을 포함하도록 놓아야 하며..

[Netwhat] IP 주소와 클래스 (What is an IP address) [42Seoul]

What is an IP address IP(Internet Protocol address) 컴퓨터 네트워크에서 장치들이 서로를 인식하고 통신을 하기 위해서 사용하는 특수한 번호 OSI 7 계층에서 Netwoark Layer에 위치하는 프로토콜 호스트에서 호스트까지의 통신, 즉 보내는 컴퓨터에서 받는 컴퓨터까지 통신을 책임진다. IP주소 2010년 기준 IPv4와 IPv6 두 가지 체계가 있다. IPv4 널리 사용되는 IP 주소로, 32비트의 값을 가진다. 보통 8비트씩 끊어 이를 0~255의 10진수 숫자로 나타내며, 각 숫자는 점(.)으로 구분한다. 총 32bits의 정보를 가지므로 최대 232개, 약 43억 개의 고유한 주소를 부여할 수 있다. IPv6 128bits의 값을 가진다. 일반적으로 4자..

[백준][19236번]청소년 상어[JAVA]

문제 설명 아기 상어가 성장해 청소년 상어가 되었다. 4×4크기의 공간이 있고, 크기가 1×1인 정사각형 칸으로 나누어져 있다. 공간의 각 칸은 (x, y)와 같이 표현하며, x는 행의 번호, y는 열의 번호이다. 한 칸에는 물고기가 한 마리 존재한다. 각 물고기는 번호와 방향을 가지고 있다. 번호는 1보다 크거나 같고, 16보다 작거나 같은 자연수이며, 두 물고기가 같은 번호를 갖는 경우는 없다. 방향은 8가지 방향(상하좌우, 대각선) 중 하나이다. 오늘은 청소년 상어가 이 공간에 들어가 물고기를 먹으려고 한다. 청소년 상어는 (0, 0)에 있는 물고기를 먹고, (0, 0)에 들어가게 된다. 상어의 방향은 (0, 0)에 있던 물고기의 방향과 같다. 이후 물고기가 이동한다. 물고기는 번호가 작은 물고기부..

반응형