CS

·CS
서론주소창에 www.naver.com을 쳐서 들어가면 아래와 같이 네이버 홈페이지가 보인다.  이 포스팅에서는 주소창에 URL을 쳐서 들어갔을 때 어떤 과정을 통해 해당 사이트가 우리에게 보이는 것인지 알아보려고 한다.결론부터 말하자면 이 과정은 아주 간단하다. 네이버의 웹서버에 너네 홈페이지 띄우고 싶은데 필요한 재료 좀 보내줘~ 하면 네이버 웹서버가 OK 하고 홈페이지를 띄우는 데에 필요한 재료를 보내 준다. 그러면 이 재료를 브라우저가 열심히 조리해서 띄워준다. 그러면 우리는 이제 네이버 웹사이트를 볼 수 있게 되는 것이다. 그럼 먼저, 네이버의 웹서버에 요청을 하는 과정을 알아보자.1. DNS 서버로 IP 주소 알아내기네이버의 웹 서버에 너네 홈페이지 재료 줘~! 하고 요청을 보내는 것이 바로 H..
·CS
개요IP 주소 이해하기 글에서 클래스리스 네트워크에서는 클래스 개념이 없으므로 별도로 네트워크와 호스트 주소를 나누는 구분자를 사용해야 하며, 이 구분자가 바로 서브넷 마스크라고 했다. 서브넷 마스크는 정확히 어떤 방식으로 구분자 역할을 수행할까? 또 서브넷팅은 뭘까? 이번 포스팅에서는 서브넷 마스크와 서브넷팅에 대해 알아보고 예제를 풀어 개념을 명확히 이해해 보자.서브넷? 서브넷 마스크?서브넷이란서브넷은 네트워크를 더 작은 네트워크로 나누는 것을 말한다.앞선 포스팅에서 클래스 단위로 네트워크 주소와 호스트 주소를 나누게 되면 호스트 주소를 몇 개 할당하지 않아 많이 남아있어도 다른 네트워크에서 해당 네트워크 주소를 사용할 수 없어서 IP 주소가 많이 낭비된다고 했다. 이런 단점을 해결하기 위해 등장한 ..
·CS
개요대부분의 네트워크는 TCP/IP로 동작한다. 이름에서부터 IP가 떡하니 들어간다. 얼마나 중요하면 이름에 넣었겠는가!네트워크를 잘 이해하려면 IP 주소 체계에 대한 이해가 필수적이다. 따라서 이번 포스팅에서는 IP 주소에 대해 아주 구체적으로 알아볼 예정이다.3 계층 주소의 특징사용자가 변경 가능한 논리 주소다.주소에 레벨이 있다. 그룹을 의미하는 네트워크 주소/호스트 주소로 나뉜다.논리 주소와 물리 주소의 차이논리 주소는 소프트웨어에 의해 생성되고 관리되는 주소다.물리 주소는 하드웨어에 의해 실제로 사용되는 주소로, 메모리나 네트워크 하드웨어에 의해 직접적으로 접근되는 주소를 의미한다.논리 주소는 물리 주소로 변환되어야 실제 자원에 접근할 수 있다. 예를 들어, 네트워크에서 논리 주소인 IP 주소는..
·CS
2의 보수 :: 컴퓨터에서 음수를 표현하는 방법개요음수를 표현하는 대표적인 방법은 세 가지가 있다.부호 있는 절대치1의 보수(1's Complement)2의 보수(2's Complement)이 중에서 컴퓨터가 음수를 표현하기 위해 사용하는 것은 2의 보수다.이번 포스팅에서는 2의 보수가 무엇인지, 2의 보수 연산은 어떻게 하는지에 대해 알아본다.2의 보수란?2의 보수를 위키백과에 검색해 보면 어떤 수를 커다란 2의 제곱수에서 빼서 얻은 이진수라고 나온다. 이 설명만으로는 이해가 잘 안 된다. 그냥 NOT 연산 후 1을 더해서 부호를 바꿔주는 방법이라고 생각하면 속 편하다. 더 쉽게 말하면 0과 1을 반전시킨 후 맨 마지막 비트에 1을 더하는 방법이다.2의 보수 구하는 방법8비트 이진수 01001011(십..
·CS
프로세스개요이 글에서는 운영체제에서 프로세스가 무엇인지 이해하기 위해 프로세스의 메모리 구조와 상태, 프로세스 제어 블록(PCB), 문맥에 대해 공부한다.프로세스란?프로세스는 실행 중인 프로그램을 의미한다. 더 자세히 설명하자면, 컴퓨터에서 실행파일(. exe)을 실행하면 메모리에 해당 실행파일(코드)의 데이터들이 올라가고 CPU가 그 데이터를 한 줄씩 실행한다. 이때 메모리에 올라가서 CPU에 의해 실행되는 데이터를 프로세스라고 하는 것이다.프로세스는 각각이 독립적으로 실행된다. 따라서 원칙적으로는 프로세스 A의 실행이 프로세스 B에 아무런 영향을 미치지 못 한다. 하지만 프로세스 간 자원을 공유하고 데이터를 주고받는 프로세스 간 통신(IPC)도 존재한다. IPC는 다음에 다룰 예정이다!프로세스의 메모..
·CS
CPU 스케줄링 알고리즘 알아보기개요이 글에서는 CPU 스케줄링이 무엇이며 CPU 스케줄링 알고리즘에는 어떤 것들이 있는지 알아보고자 한다.CPU 스케줄링이란?운영체제가 프로세스들에게 공정하고 합리적으로 CPU 자원을 배분하는 것을 CPU 스케줄링이라고 한다.어떤 프로세스가 입출력장치를 이용하기 위해 대기 상태에 들어가야 할 때를 생각해 보자. 대기 상태에 접어든 프로세스는 더 이상 CPU를 사용하지 않는다. CPU를 사용하지도 않는 프로세스가 CPU를 점유하고 있는 것은 손해다. 따라서 운영체제는 해당 프로세스에게서 CPU를 회수해 다른 프로세스에 할당한다. CPU를 차지하기 위해 기다리고 있는 프로세스는 준비 큐(Ready Queue)에 들어가 있는데, 이 준비 큐에서 어떤 프로세스에게 CPU를 할당..
·CS
* ISA는 Instruction Set Architecture, 즉 명령어 집합 구조이며, 마이크로프로세서가 인식해서 기능을 이해하고 실행할 수 있는 기계어 명령어를 말한다. 기계어 기계어는 컴퓨터가 직접 읽을 수 있는 2진 숫자(0과 1)로만 이루어져있다. (+ 16진숫자도 사용함) 우리가 열심히 작성하는 코드들은 사실 컴퓨터가 있는 그대로 알아듣질 못 한다. 0과 1로 번역해주는 번역가가 필요하다. 번역가는 두 종류가 있는데, 컴파일러(Compiler)와 인터프리터(Interpreter)다. 이 두 친구에 대해 더 잘 알고 싶다면 2022.12.02 - [📂 CS Knowledge/CS Knowledge] - [CS] 동적 언어와 정적 언어 [CS] 동적 언어와 정적 언어 어떤 언어든, 언어를 배울..
·CS
워드(word)란? CPU가 한 번에 처리할 수 있는 데이터 크기 CPU가 한 번에 16비트를 처리할 수 있다면 1워드 = 16bit 한 번에 32비트를 처리할 수 있다면 1워드 = 32bit 하프 워드(half word) : 워드의 절반 크기 풀 워드(full word) : 1배 크기 더블 워드(double word) : 2배 크기 워드 크기가 큰 CPU는 한 번에 처리할 수 있는 데이터가 많다. 현대 컴퓨터의 워드 크기는 대부분 32 비트 또는 64 비트. 인텔의 x86 CPU는 32비트 워드 CPU, x64 CPU는 64비트 워드 CPU