목록CS & Engineering/Computer Science (7)
Do You Coding?
LAN (Local Area Network): LAN 이란, 근거리 통신망, 로컬 영역 네트워크 등 가까운 지역을 한데 묶는 컴퓨터 네트워크이다.기술적으로 설명하자면, 네트워크 매체를 통해 동일한 Subnet mask, 즉 같은 IP 대역을 사용하는네트워크 매체와 컴퓨터를 묶는 컴퓨터 네트워크라고 할 수 있다. 따라서 이전에 Subnet mask를 통해 묶은 하나의 네트워크가 이 LAN이라고 볼 수 있다. WAN (Wide Area Network): WAN이란 말 그대로 서로 멀리 떨어진 지역의 네트워크를 연결해주는 네트워크이다.LAN과 LAN을 연결하는, 더 넓은 범위에서의 광역 네트워크라 할 수 있다.LAN 통신: LAN으로 묶인 동일한 하나의 네트워크에서 통신을 하기 위해서는송신자와 수신자가 동일한..
Subnet Mask (서브넷 마스크): 서브넷 마스크는 로컬 네트워크 내부에서 접속한 호스트의 IP 대역을 외부 네트워크와 명확하게 구분할 수 있는 수단을표준화한 것이며, 네트워크를 쪼개 통신 성능을 보장하기 위한 방법이다. IP 주소는 네트워크와 호스트 부분으로 나누어지는데,하나의 로컬 네트워크는 하나의 라우터를 거쳐가는 여러 호스트들이 연결된 영역이며,어떠한 한 호스트가 브로드캐스트를 했을 때 해당 네트워크의 모든 호스트가 신호를 받으면 그 네트워크는하나의 네트워크로 연결되있다고 볼 수 있다. 즉, 하나의 로컬 네트워크에서 IP 주소의 네트워크 부분은 같지만, 호스트 부분은 다른 것이다.예시로, 네모구 세모동 동그라미아파트 A동 201호에서네모구 세모동 동그라미아파트 A동 306호로 가려고 하면,굳..
프로토콜: 프로토콜이란, 서로 다른 장비간 원활하게 네트워크 통신을 하기 위해 만든 규칙, 통신규약을 의미한다.한국인과 일본인이 소통하기 위해 영어라는 공용어를 사용한 것처럼,서로다른 장비가 네트워크로 소통하기 위해서는 프로토콜을 사용하여 통신한다. TCP/IP 란?: 인터넷에서 컴퓨터들이 서로 정보를 주고받는 데 쓰이는 프로토콜의 모음을 'Internet Protocol Suite'라 하는데, 이 모음 중에서 가장 많이 쓰이는 두가지가 TCP와 IP 이다. 이 둘을 묶어서 TCP/IP로 통칭한다.TCP/IP는 패킷 통신 방식의 인터넷 프로토콜인 IP, 전송 프로토콜인 TCP로 이뤄져 있다. OSI 7계층 & TCP/IP 4계층: TCP/IP 를 알아보기에 앞서, OSI 7계층이라는 것을 먼저 알아보도록..
뮤텍스(Mutex)란?: 뮤텍스(Mutex)는 Mutual Exclusion의 줄임말로, 다중 스레드 환경에서 공유 자원에 대한 동시 접근을 방지하기 위한동기화 매커니즘이다. 뮤텍스를 사용하면 여러 스레드가 동시에 공유 자원에 접근하지 못하게 해데이터 경합이나 데이터 불일치 문제를 방지할 수 있다.뮤텍스의 필요성: 프로그램에서 여러 스레드가 동시에 실행되면서, 공유 자원을 동시 접근하는 상황이 발생할 수 있다.예를 들어, 여러 스레드가 동시에 하나의 변수에 접근하여 값을 변경하려고 할 때,한 스레드가 작업을 완료하기 전에 다른 스레드가 그 변수에 접근하면 정확하지 않은 값이 나올 수 있다. 이를 방지하기 위해, 특정 스레드가 자원에 접근할 때 다른 스레드는 그 자원이 잠겨 있다는 것을 알 수 있도록 하는..
스레드 (Thread) 란? 스레드는 프로세스 내에서 프로세스의 자원을 이용하여 실행되는 여러 흐름들의 단위가 되며,프로세스 내에서 실제로 작업을 수행하는 주체이다. 프로세스 내에서 작업하는 주체가 스레드이므로, 밀접한 관계를 가지고 있다.이전에 프로세스에 대해서 살펴보았을 때, 위 왼쪽 그림과 같이 프로세스는 4개의 메모리 영역을 할당받는데이 할당받은 메모리 영역은 프로세스에서만 가지고 있으므로 독립적인 특성을 가진다. 그리고, 이러한 프로세스들의 작업이 동시에 실행될 수 있는데 (멀티 프로세싱),프로세스 내에도 이런 식으로 여러 작업을 동시에 처리할 수 있도록 해주는 것이 스레드이다.하나의 프로세스에는 하나 이상의 스레드가 존재할 수 있으며다수의 스레드를 생성해 병렬처리 하는 것이 프로세스를 새로 생..
프로세스(Process)란?프로세스는 '컴퓨터에서 실행 중인 프로그램'을 의미하며,프로그램이란 '저장공간에 있는 코드와 리소스들이 집합된 파일'을 말한다.따라서 이 프로그램을 실행하면 메모리에 올라가 프로세스로서 동작되는 것이다. 옛날의 컴퓨터에서는 프로세스가 하나만 실행가능 했으나,컴퓨터가 발전하여 멀티프로세싱(멀티태스킹)을 이용해 여러개의 프로세스를 띄울 수 있게 되었다. 모든 프로세스는 부모와 자식의 관계를 가지는데,A프로세스가 B프로세스를 생성한다면, B 프로세스의 부모는 A 프로세스가 되고,A 프로세스의 자식은 B 프로세스가 되는 관계를 가진다.추후 게시물에서 다룰 'fork()'가 이러한 자식 프로세스를 생성하는 함수이다. Process는 Operation System (운영체제 시스템) 으..
