본문 바로가기

반응형

IT/전산학

(3)
[전산학] DHCP란? DHCP란 평소 컴퓨터를 켜면 무엇을 하는가. 메일을 확인하거나, 메신저를 켜거나, 게임을 한다. 그리고 이 중 인터넷 연결없이 돌아가는 것은 없다. TCP/IP 프로토콜에서 인터넷으로 다른 컴퓨터와 연결하기 위해서는 연결하고 싶은 컴퓨터의 주소를 알아야한다. 여기서 쓰이는 주소가 바로 IP 주소인데, 이 IP 주소를 관리하기 위한 일종의 규약이 DHCP(Dynamic Host Configuration Protocol)인 것이다. 실은 이렇다. 우리는 아무런 생각없이 써온 IP주소는 모두 DHCP 서버의 관리를 받고 있었던 것이다. 즉, 우리가 인터넷에 접속할때 DHCP 서버에 쓸 수 있는 IP 주소를 요청하고 DHCP 서버는 이 요청을 받아들여 IP 주소를 정해진 시간동안 우리에게 할당해주는 식이다. ..
[전산학] char 자료형의 진실 나는 처음 코딩을 접할 때, char 자료형에 대해 의구심을 가졌다. 분명 '문자형'이라고 배웠는데, 어떨때면 숫자가 튀어나오기도 한다. 어찌된 영문인지 알 수 없었다. 분명 문자형이면 내가 무슨 짓을 하더라도 결과적으로 print를 했을때 문자가 그대로 출력되어야 하는 것이 아닌가. 예컨대 다음과 같은 코드를 보자. 123456789public class Main { public static void main(String[] args) { // TODO Auto-generated method stub char alphabet ='a'; System.out.println(alphabet-32); }}Colored by Color Scriptercs 출력 결과가 어떻게 될까. 5번째 라인에서 분명 a라는 ..
[전산학] CPU 스케줄링 과거의 Single-processor system에서는 한번에 오직 하나의 프로세스만이 순차적으로 실행될 수 있었다. 다른 프로세스가 실행되기 위해서는 CPU가 현재 실행중인 프로세스를 끝내고 프리 상태에 도달할 때까지 기다려야만 했던 것이다. 하지만 실제적으로는 입출력을 기다리는 시간동안은 CPU는 아무일도 하지 않게되고 이는 CPU utilization에 있어 비효율로 이어진다. 프로세스의 생명 주기동안 CPU를 필요로 하는 시간의 비중이 크지 않기에 굳이 이 전체의 시간동안 CPU를 부여한다는 것은 낭비이다. 전화로 예를 들면 쉬울 것이다. 우리가 누군가와 통화를 할때면 서로 말하고 있는 시간보다 침묵하고 있는 시간의 비중이 압도적으로 크다고 한다. 사실 여러분은 이렇게 전화선을 낭비하고 있는 것이..