안녕하딤니카?날씨가 좋은데 omg 송화가루 진심... 난리도 아닙니다눈이 3자가 돼서 고생 중이니 여러분들은 알레르기약 꼭 드시고 이런 일 없길 바랍니다 저는 쭉 프로젝트를 한 프로젝트 안에서 빌드하는 모놀리식 방식으로 많이 작업했는데프로젝트 덩치가 쫌이라도 커지니 클래스 찾기도 힘들고 진짜 너무 햄들었어요제가 이런데 다른 사람들은 오죽할까 그래서 마이크로 서비스 아키텍처 방식을 공부해보자~ 하고 요즘 공부 중입니다그 내용을 올리려고 합니다 (중간중간 다른 글도 올릴 거긴 하지만... 암튼 이번 글에서는 SOA와 MSA 방식의 차이점, MSA 방식에서 필요한 도구(Eureka, Spring Cloud Gateway)를 정리해 보겠습니다그럼 시~~~작 ◎ 이 글은 Spring Cloud로 개발하는 ..
전체 글
좋아하는 것을 계속 좋아하세요! 반드시 행복해집니다 🍀 [Github] https://github.com/chujaeyeong [E-mail] chujy1224@gmail.com◎ 이 글은 김영한 - 모든 개발자를 위한 HTTP 웹 기본 지식 강의를 수강 후 정리 목적으로 작성했습니다. 1. IP 프로토콜 클라이언트와 서버는 각 IP 주소를 가진다. IP는 인터넷 프로토콜 역할을 한다. (지정한 IP 주소에 패킷 이라는 통신 단위로 데이터를 전달)클라이언트는 서버에서 전송하고자 하는 데이터를 출발지 IP, 목적지 IP 등의 정보로 구성된 IP 패킷으로 한 번 감싸서 서버로 전달하는 형식. IP 프로토콜의 한계는 비연결성, 비신뢰성, 프로그램간의 구분이 어렵다 가 있다. 비연결성 : 패킷을 받을 대상이 없거나 서비스 불능 상태여도 무조건 패킷을 전송함.비신뢰성 : 중간에 패킷이 사라지거나, 패킷이 순서대로 안 오는 문제가 발생할 수 있음.프로그램 구분 : 같은 IP를 사용하..
안녕하딤니카?추워서 멸종되기 직전인 재빵입니다. 너무 추우니까 이번 글에서는 교착 상태에 대해서 정리해보겠습니따.읏추 읏추 그럼 시~~~작 1. 교착 상태 (데드 락, Dead Lock)프로세스가 실행이 제대로 되려면 자원이 필요한데, 두 개 이상의 프로세스가 각자 갖고 있는 각각의 자원들을 그저 기다리기만 한다면, 그 어떤 프로세스도 실행되지 못하고 꽉 막힌 도심 속의 차처럼 멈춰버리는 상태가 발생합니다. 이걸 우리는 교착 상태(데드 락, Dead Lock)이라고 합니다. 교착 상태를 이해하기 좋은 사례가 있는데, 이거를 식사하는 철학자 문제(Dining Philosopher's Problem)를 먼저 이해해 보겠습니다. 이 문제를 이해하면 교착 상태가 왜 발생하는지, 그리고 교착 상태를 어떻게..
안녕하딤니카? 이번 글에서는 프로세스의 동기화에 대해 정리해 보고, 동기화 기법에는 어떤 것이 있는지 함께 쭉 정리해 보겠습니다.날씨가 많이많이 춥네요 모두 멸종되지 않게 조심하세요 그럼 시~~~작 1. 동기화동기화에 대해 정리하기 전에, 저번 글에서 쭉 정리했던 프로세스, 스레드의 개념을 종합적으로 정리하면서 동기화에 대해 정리해 보겠습니다. 동시다발적으로 실행되는 프로세스, 스레드들은 서료 협력하며 영향을 주고받습니다. 이 과정에서 자원의 일관성을 보장해야 합니다.(동기화의 대상은 프로세스, 스레드를 모두 포함하고 있습니다. 아래부터 정리하는 내용에는 제가 프로세스라고만 작성할 텐데, 이 안에는 스레드도 포함되어 있다~라고 생각해 주시면 될 것 같습니다.) 아무튼 자원의 일관성을 유지하기 ..
안녕하딤니카?저번 글까지 프로세스를 정리했고, 이번 글에서는 CPU 스케줄링에 대해서, 그리고 CPU 스케줄링 알고리즘에 대해 정리해보려고 합니다.그럼 시~~~작 사실 이 대표 사진을 고르는데 시간을 더 많이 씁니다블로그 쓰는 시간보다도요대표사진 아주 중요해 1. CPU 스케줄링과 프로세스 우선순위CPU 스케줄링이란, 운영체제가 프로세스들에게 공정하고 합리적으로 CPU 자원을 배분하는 것을 말합니다. CPU 스케줄링은 컴퓨터 전체 성능과도 직결되는 아주 중요한 문제입니다. 만약 프로세스들한테 CPU를 제대로 분배를 못 한다면, 꼭 실행되어야 되는 프로세스가 실행이 안 되거나, 당장 급하지 않은 프로세스들이 먼저 실행되는 무질서한 상태가 반복될 수 있습니다. 그렇다면 가장 공정한 CPU 스케줄링..
안녕하딤니카?이번 글에서는 저번 글에 이어서 프로세스를 이어서 작성할 건데이번에는 좀 다르게 스레드의 개념을 정리하면서, 멀티스레드와 멀티프로세스가 어떻게 다른지를 중점적으로 정리해보고자 합니다.눈이 많이 오는데 다들 미끄덩 조심하시고 그럼 시~~~작 (저도 피크민 하다가 미끄덩할뻔했어요 다들 조심 1. 스레드 (Thread)먼저 스레드(Thread)는 프로세스를 구성하는 실행 흐름의 단위입니다. 하나의 프로세스는 하나 이상의 스레드를 가질 수 있고, 한 프로세스를 여러 개의 스레드로 동시에 실행할 수 있습니다. 실행 흐름이 하나인 프로세스를 단일 스레드 프로세스라고 부르고, 실행 흐름이 두 개 이상인 프로세스를 멀티 스레드 프로세스라고 합니다. 우리가 실행하는 프로그램은 대부분 멀티 스레드..
안녕하딤니카?이번 글에서는 저번 글에 이어서, 운영체제의 프로세스에 대해서 정리하는 글입니다. 저번 글에서는 프로세스의 개요, 그리고 PCB, 문맥 교환, 프로세스의 메모리에 대해서 정리했다면이번 글에서는 프로세스 상태와 계층 구조를 중심으로 정리해보려고 합니다 그럼 시~~~작 1. 프로세스의 상태프로세스는 저마다의 상태가 있습니다. 운영체제는 PCB에 프로세스 상태를 기록하고, 계층적으로 관리합니다. 먼저 프로세스의 상태에 대해서 정리해 보겠습니다. (프로세스의 상태는 운영체제마다 조금씩 차이가 있습니다.)생성 상태 : 이제 막 메모리에 적재되어 PCB를 할당받은 상태, 여기서 준비가 완료되었다면 준비 상태가 됩니다.준비 상태 : 당장이라도 CPU를 할당받아 실행할 수 있지만, 자신의 차례가 ..
안녕하딤니카?이번에는 운영체제에서 프로세스 파트에 대해서 정리해보고자 합니다.프로세스를 몽땅 정리하는 건 아니고, 프로세스의 개요와 PCB를 중심으로 정리하겠습니다. 그럼 시~~~작 1. 프로세스의 개요먼저, 프로세스란 실행 중인 프로그램을 의미합니다. 프로세스는 운영체제에 의해 관리되며, 독립적으로 실행되고 자원을 할당받을 수 있는 단위입니다. 운영체제는 프로세스들에게 적절히 자원들을 분배하여 여러 가지 작업을 수행할 수 있게 합니다. 프로세스는 사용자가 볼 수 있는 공간에서 실행되는 포그라운드 프로세스(foreground process)와 사용자가 볼 수 없는 공간에서 실행되는 백그라운드 프로세스(background process)로 나눌 수 있습니다. 포그라운드 프로세스는 사용자 앞에서 실..
안녕하딤니카? 오늘은 RAID 기술에 대해 정리해 보는 글을 작성하려고 합니다.코를 킁카킁카거리면서 시작하겠습니다 (슬프게도 아직 비염이 팍! 하고 가시진 않았습니다 항생제야 힘내죠시~~~작 1. RAID의 정의RAID는 Redundant Array of Independent 의 약자로, 여러 개의 하드 디스크가 있을 때 동일한 데이터를 다른 위치에 중복해서 저장하는 기술입니다. 데이터의 안정성 혹은 높은 성능을 위해 여러 물리적 보조기억장치를 마치 하나의 논리적 보조기억장치처럼 사용하는 기술이며, 운영체제에서 하나의 RAID는 논리적으로 하나의 디스크로 인식하여 처리됩니다. 예를 들어 우리가 1TB 용량의 저장장치를 4개를 RAID 기술을 사용하면 마치 5TB 용량의 저장장치 하나처럼 사용할 수..
안녕하딤니카?요즘 날씨 진짜 춥고 독감이 너무너무 아픕니다전 독감까진 아닌데 진짜 어휴... 밖에 잘못 나갔다가 죽을뻔했습니다병원 대기하다가 말라죽고 싶지 않다면 따끈하게 입고 다니시길 바랍니다 이번 글에서는 메모리의 주소 공간에서, 메모리의 물리 주소와 논리 주소에 대해서 정리해보려고 합니다.그럼 시~~~작 1. 메모리의 개념 정리메모리는 CPU가 작업을 수행하는 데 있어 필요할 때 직접 액세스 할 수 있도록 운영체제, 응용 프로그램 및 기타 정보 등을 저장하는 하드웨어입니다. CPU의 작업공간이라고 보면 됩니다. 메모리는 CPU의 작업공간으로서 메모리의 용량도 중요하지만, 메모리를 관리하는 방법이 CPU의 성능에 큰 영향을 미치는데요,메모리는 크게 운영체제 영역과 사용자 영역으로 나눠집니다...