오늘 처음으로 회사 레포에 완성된 마크업 페이지를 디벨롭에 적용하는 과정에서... 예상치 못한 오류가 발생했다! >>> ⚠️git conflict 그러던 중 옆에 사수 분께서 rebase라는 새로운 방식을 언급해주셔서,,, (하지만 나는 처음 보는 명령어임) 문득 merge와 rebase의 차이점에 대해 궁금하여 해당 포스팅을 준비해보았습니다! 1. git merge(병합) merge는 두 개의 다른 브랜치를 하나로 합치는 과정을 의미합니다. git checkout main// main에서 병합 진행 git merge feature-branch// 현재 작업중인 브랜치를 main에 병합 git merge는 새로운 병합 commit을 생성하고, 각각의 브랜치에서의 변경 내용을 포함합니다. 두 개 이상의 개..
0. 들어가기전 동기/비동기 와 블로킹/논블로킹 의 개념은 비슷해 보일지라도 서로 다른 차원에서 작업의 수행 방식을 설명하는 개념이다. 동기/비동기 : 처리해야 할 작업들을 수행 방식(완료 여부)의 차이 블로킹/논블로킹 : 처리해야할 작업의 과정의 제어권 처리 방법의 차이 그렇기 때문에 동기 != 블로킹, 비동기 != 논블로킹 이다. 1. 동기(Sync) vs 비동기(Async) 동기와 비동기를 구분하는 방법은 처리해야 할 작업들에 대한 작업 순서 처리의 차이이다 . 요청한 작업에 대해 완료 여부를 따져 순차대로 처리한다면 동기, 요청한 작업에 대해 완료 여부를 따지지 않는다면 비동기이다. 1. 동기 호출된 작업의 리턴하는 시간과 결과를 반환하는 시간이 일치하는 경우를 말한다. 작업 A의 종료시간과 작업..
👩🏫 : "프로세스와 스레드의 차이점에 대해 설명해주세요." 🙋🏻♀️ : "..." 면접 단골 질문 프로세스와 스레드의 차이점에 대해 알아보자!!!!!! 0. 들어가기 전 브라우저를 웹서핑하다가 마음에 드는 게임을 찾았다! 오잉? 다운로드 버튼을 눌렀더니 갑자기 마우스도 안 움직이고 키보드도 안 먹힌다..;; 몇 분에 걸쳐 이 게임이 다 받아질 때까지 컴퓨터가 먹통이 되어 있는 거다.. ㅜ 뭔 이딴 컴퓨터가 다 있냐?! 라고 생각할 수 있겠지만, 옛날 컴퓨터들은 다 이런 식으로 작동했다. 게임을 다운로드 하는 작업, 마우스나 키보드로부터 입력을 받는 작업, 브라우저로 사이트를 돌아다니는 작업 과 같은 일들을 동시에 처리하지 못하고 한 번에 하나씩만 할 수 있었다. 컴퓨터가 프로세스 여러개를 함께 돌리..
1. 디스크의 구조 💡 디스크란? -> 컴퓨터 시스템의 대표적인 2차저장장치(보조기억장치)이다. 메모리는 휘발성 저장장치이므로 전원이 나가면 내용이 모두 사라지기 때문에 작업의 결과를 영구히 보관하기 위해서는 디스크 같은 2차 저장장치를 이용해야 한다. 하드 디스크의 구조는 위 그림과 같다. 더보기 플래터(Platter): 하드 디스크의 주요 구성 요소로, 회전하는 원판 형태, 데이터는 플래터의 표면에 저장 헤드(Head): 플래터 위의 데이터를 읽고 쓰는 역할, 헤드는 플래터의 표면에서 몇 나노미터 이내의 거리에 위치하며, 이러한 거리를 위해 공기 역학적인 방식으로 작동 암(Arm): 헤드를 지지하는 부분으로, 암은 헤드를 이동시켜 다양한 위치에 있는 데이터에 액세스할 수 있도록 한다. 스파인들(Spi..
💡 CPU 스케쥴링(CPU Scheduling)이란? : OS가 CPU를 사용하는 프로세스들 사이의 우선순위를 관리하는 작업이다. 즉 한정된 자원을 어떤 프로세스에 얼마나 할당하는지 정책을 만드는 것이다. 1. 스케쥴링 기준(Scheduling Criteria) 스케쥴링 기준은 최선의 알고리즘을 결정하는 데에 사용되는 기준이다. 중국집을 예를 들어 스케쥴링 기준에 대해 알아보자. CPU 이용률 (CPU Utilization) CPU를 가능한한 바쁘게 유지 주방장 - 돈을 주고 고용했는데, 주방장에게 최대한 일을 많이 줘야 돈이 아깝지 않다. 처리량 (Throughput) 단위 시간당 완료된 프로세스의 개수 회전율 - 식당에서 단위 시간당 손님을 몇명이나 내보낼 수 있는지에 대한 척도 총 처리 시간 (Tu..
1. 컴퓨터 시스템 구조 컴퓨터는 프로그램 코드들을 정해진 순서대로 실행한다. 이 과정에서 데이터를 읽고(Read), 처리(Processing)하고, 저장(Store)한다. 컴퓨터 시스템 구조는 크게 두 가지로 분류된다. Computer I/O device (입출력장치) 입출력 장치를 통해서 사용자가 원하는 데이터를 컴퓨터로 전달하면, 컴퓨터는 그 데이터를 가공을 한다. 가공된 데이터는 다시 입출력 장치를 통해 출력된다. 컴퓨터의 구성 요소 CPU : 메모리로부터 명령어를 받아와 기계어로 변환하고 연산을 수행한다. Memory : 명령어 및 데이터가 적재되는 공간이다. I/O device : 데이터를 입출력하기 위한 컴퓨터의 외부 장치이다. 컴퓨터 시스템 흐름 다음은 대략적인 컴퓨터 시스템 흐름이다. 컴..
1. 캐시 메모리(Cache Memory)란? 캐시 메모리(Cache Memory)는 CPU와 메모리의 속도 차이로 인한 병목 현상을 완화하기 위한 범용 메모리이다. 캐시 메모리는 메인 메모리와 CPU 간의 데이터 속도 향상을 위해 중간 버퍼 역할을 하는 CPU 내 또는 외에 존재하는 메모리이다.캐시 메모리의 성능에 의해서 전체 시스템의 성능을 개선시킬 수 있는 메모리이다. 캐시 메모리는 메모리와 CPU 사이에 위치해 있으며, 메모리 계층 구조에서 레지스터 다음으로 상위에 위치한다. CPU는 데이터를 처리하기 위해 메인 메모리와 끊임없이 데이터를 주고 받는다. 이때, CPU에 비해 메인 메모리는 속도가 느리기 때문에 메모리에 접근할 때 CPU는 효율적으로 사용되지 못한다. 이때 필요한 것이 캐시 메모리이..
1. 기본 컴퓨터의 레지스터 기본 컴퓨터란? DEC PDP-11 Mini Computer 가상의 컴퓨터가 아닌 실제 제품 (80년대에 주름 잡던 제품) 최신의 CPU도 기본적으로 동일한 구조를 가짐 기본 컴퓨터 레지스터 종류 Register Symbol 비트 레지스터 이름 기능 DR 16 Data Register 데이터 레지스터 AR 12 Address Register 메모리 주소를 지정하는 레지스터 AC 16 Accumulator 프로세서 레지스터 IR 16 Instruction Register 명령어 레지스터 PC 12 Program Counter 명령어 주소를 지정하는 레지스터 TR 16 Temporary Register 임시 데이터 저장 INPR 8 Input Register 주변장치로부터 데이터..
기본 컴퓨터(Basic Computer)란? DEC. Corp사의 중형 컴퓨터 PDP-11을 지칭한다. 기본 컴퓨터라함은 컴퓨터 구조 설계의 가장 기본적인 부분을 일컬으며, 현대의 CPU들에도 동일하게 적용되는 설계 구조이다. 컴퓨터 == CPU 컴퓨터가 곧 CPU이다. 그렇다면 내 PC 안에 들어 있는 메인보드, 그래픽카드, ssd, rem 등은 무엇인가? 이런것들은 전부 다 주변장치 라고 지칭한다. 즉, 컴퓨터는 CPU 와 주변장치들로 구성되어 있는 것이다. 1. 컴퓨터의 동작 주로 데이터는 레지스터 내에 저장된다. 이런 데이터를 마이크로 연산 시퀀스에 의해 정의된 내용들이 바로 컴퓨터의 동작이다. 범용 컴퓨터 시스템에서는 다양한 마이크로 연산 시퀀스를 정의하고 있다. 컴퓨터는 바로 이런 마이크로 연..
💡IP란? 인터넷 프로토콜(Internet Protocol)은 데이터가 길을 잃지 않고 정확한 목적지에 도착할 수 있도록 기능하는 것이다. 프로토콜이란 어떤 정보의 교환을 위한 규약 또는 체계를 의미한다. 결국 IP란 인터넷 상에서 서로 데이터를 주고 받을 때 필요한 규약이라고 볼 수 있다. IP의 역할은 무엇인가? 지정한 IP 주소(IP Address)에 데이터 전달 패킷(Packet)이라는 통신 단위로 데이터 전달 인터넷 프로토콜의 관점에서 보면 보내는사람의 주소는 출발지의 IP, 받는사람의 주소는 목적지의 IP, 그리고 편지안의 내용은 전송하고자하는 전송데이터로 볼 수 있다. 이러한 전송하고자하는 정보 데이터의 형식을 패킷이라는 하나의 블록 단위로 이루어서 출발지IP에서 목적지 IP까지 패킷을 통해..