IT/CS 노트9 서브넷마스크의 간단한 이론 1. 서브넷마스크의 개념과 원리 서브넷마스크는 전체 IP 주소가 단위 그룹으로 나뉘도록 여과해주는 수단을 말합니다. 네트워크에 연결된 컴퓨터들은 각각 고유의 IP 주소를 가지고 있고, 해당 IP 주소를 기준으로 서로 다른 네트워크거나 서로 다른 네트워크로 나눌 수 있습니다. 즉, 각각의 IP 주소를 가지는 컴퓨터들이 해당 IP 주소를 기준으로 동일한 네트워크로 소속되어 통신할 수 있지만, 서로 다른 네트워크로 묶여 통신을 할 수 없기도 하다는 뜻입니다. 그렇다면 IP 주소를 가지고 구분하는 방법이 복잡해보일 수 있지만 생각보다 간단합니다. 전체 IP 주소 범위를 일정한 그룹으로 나누고, 해당 그룹 중 동일한 그룹의 IP 주소를 가지는 컴퓨터들끼리는 서로 같은 네트워크에 해당한다고 보는 것입니다. 반면에 .. 2022. 10. 12. "스레드"에 대한 기본 지식 1. 정의 스레드는 CPU 이용의 기본 단위이다. 스레드는 스레드 ID, 프로그램 카운터, 레지스터 집합, 그리고 스택으로 구성된다. 스레드는 같은 프로세스에 속한 다른 스레드와 코드, 데이터 섹션 그리고, 열린 파일이나 신호와 같은 운영체제 자원들을 공유한다. 전통적인 중량 프로세스는 하나의 제어 스레드를 가지고 있다. 만일 프로세스가 다수의 제어 스레드를 가진다면, 프로세스는 동시에 하나 이상의 작업들을 수행할 수 있다. 현대의 컴퓨터에서 동작하는 거의 모든 소프트웨어 응용들은 다중 스레드를 이용한다. 다중 스레드 프로그래밍의 이점은 크게 4가지로 나눌 수 있다. 첫 번째, 응답성이 있다. 응답성은 대화형 응용을 다중 스레드처럼 적용하면 응용 프로그램의 일부분이 봉쇄되거나, 응용 프로그램이 긴 작업을.. 2022. 10. 11. 운영체제 내의 프로세스란? 1. 정의와 상태 초기의 컴퓨터 시스템은 한 번에 하나의 프로그램만을 실행하도록 허용했습니다. 이 프로그램이 시스템에 대한 완전한 제어를 가지고, 시스템의 모든 자원에 접근할 수 있었습니다. 그러나 점점 컴퓨터가 발전할수록 다양한 프로그램을 보다 견고하게 제어해야 할 필요성이 부각되었습니다. 이러한 필요성이 프로세스의 개념을 낳았으며, 프로세스란 실행 중인 프로그램을 말합니다. 프로세스는 현대의 시분할 시스템에서 작업의 단위입니다. 운영체제가 더욱 복잡해질수록, 사용자를 위해 보다 많은 기능이 기대됩니다. 비록 운영체제의 주 관심사는 사용자 프로그램을 실행하는 것이지만, 운영체제는 커널 자신의 바깥에 있는 것이 낫다고 판단된 다양한 시스템 작업들을 처리할 필요성도 있습니다. 그러므로 하나의 시스템은 프로.. 2022. 10. 9. 여러가지 컴퓨터 프로그래밍 언어 1. 정의 컴퓨터 프로그래밍 언어는 컴퓨터는 우리가 쓰는 언어를 이해하지 못하기 때문에 오직 컴퓨터가 이해할 수 있는 언어입니다. 따라서 컴퓨터에 지시를 내릴 수 있습니다. 사람들이 쓰는 다양한 언어가 존재하는 것처럼 프로그래머가 컴퓨터와 통신하는 데 사용할 수 있는 컴퓨터 프로그래밍 언어의 다양한 배열이 있습니다. 그 중에서 컴퓨터가 이해할 수 있는 언어 부분을 '바이너리'라고 합니다. 프로그래밍 언어를 바이너리로 변환하는 것을 '컴파일'이라고 합니다. 우리가 많이 들어본 C 언어, Python 외에 각 언어에는 고유한 기능이 있지만 프로그래밍 언어 간에 공통점이 있는 경우가 많습니다. 이러한 언어가 있기 때문에 컴퓨터는 크고 복잡한 정보를 빠르고 효율적으로 처리할 수 있습니다. 스마트폰, 전자 제품 .. 2022. 10. 9. 이전 1 2 3 다음