2진수 → 10진수 변환 parseInt() 함수는 문자열을 정수로 변환하는 내장 함수로, 두 개의 매개변수를 받을 수 있다. parseInt(String, Number) 1. 문자열(String) : 변환하고자 하는 숫자의 문자열 2. 진수(Number) / (optional) : 문자열이 포현된 진수를 나타내는 숫자. 선택적으로 사용된다. 만약 진수를 지정하지 않으면 문자열이 기본적으로 10진수로 간주된다. const binary = "10101"; const result = parseInt(binary, 2); console.log(result); // 출력 : 21 const binary = "1120"; const result = parseInt(binary, 3); console.log(res..
스레드(Thread) 운영체제에서 스레드는 프로세스 내부에서 실행되는 작은 작업 단위이다. 스레드는 프로세스의 실행 흐름을 구성하는 단위로, 하나의 프로세스는 내부에 여러개의 스레드가 포함될 수 있다. 스레드를 설명하기 전에 프로세스와의 차이점을 알기위해, 프로세스에 대해서 간략하게 설명한다. 프로세스는 독립된 객체로서 생성되면 각각의 메모리 자원을 할당 받고, 서로에게 접근이 불가능하다. 프로세스 특성상 서로에게 접근이 불가능하기에, 여러개의 프로세스를 처리하기 위해서 서로의 상태 자원을 공유하려면 IPC라는 커뮤니케이션 기법이 필요하다. IPC는 커널의 공유 메모리를 활용하여 프로세스들간의 데이터 상태 정보를 주고 받는다. 스레드의 특징 특징 ① 프로세스들이 서로의 데이터에 접근하는것이 직접적으로 불..
멀티 태스킹, 멀티 프로그래밍, 멀티 프로세싱은 컴퓨터 시스템의 성능과 효율성을 향상시키는 데 중요한 역할을 한다. 여러 작업을 동시에 처리할 수 있고, 자원을 효율적으로 활용할 수 있어 작업을 빠르게 처리할 수 있다. 하지만, 이 3가지 개념이 너무나 헷갈리기에 정리하는 글을 써본다. 멀티 태스킹(Multi Tasking) 멀티 태스킹은 하나의 CPU에서 여러 작업(Task)을 동시에 실행되는 것을 의미한다. 지금은 아니지만 옛날에는 컴퓨터에 CPU가 1개 있었고, CPU 안에는 연산하는 시스템이 1개여서 특정 시간에 특정 작업 1개만 실행시킬 수 있었다. 만약 프로그램1을 실행시키면 프로그램1의 작업이 종료될 때까지 프로그램2는 실행시키지 못하고 계속 대기해야하는 것이다. 이 점을 보완하고자 하는 방..