본문 바로가기

정보

(16)
context switching이란? context switching이란? 멀티 프로세서 환경에서 cpu 가 어떤 하나의 프로세스를 실행하고 있는 상태에서 인터럽트 요청에 의해 다음 우선 순위의 프로세스가 실행되어 할 때 기존 프로세스의 상태 또는 레지스터의 값을 저장하고, cpu가 다음 프로세스를 실행하도록 새로운 프로세스의 상태 또는 레지스터의 값을 교체하는 작업을 context switching이라고 한다. ps.인터럽트란? 운영 체제에서 컴퓨터에 예기치 않은 일이 발생하더라도 작동이 중단되지 않고 계속적으로 업무 처리를 할 수 있도록 해 주는 기능. 추가적으로 쓰레드 입장에서의 context switching은 다음과 같다. 쓰레드는 O/S에서의 기본적인 스케줄링 단위이다. 그리고 이러한 쓰레드를 O/S는 여러 개를 관리하면서 우리에..
Event-MPM, Event-Driven 의 차이 (Apache인가 Nginx 인가?) Event 방식이란? Event방식이란 기존의 방식처럼 프로세스나 스레드를 생성하지 않고 Event-loop가 사용자의 요청(이벤트) 을 감지하고 처리된 결과물 을 다시 사용자에게 전달해주는 방식이다. Event-MPM이란? Apache 의 이벤트 방식을 MPM 이라고 하고 기본적으로 C10K 문제를 해결하기 위한 하나의 방안으로 나왔다. 그러나 Event 방식도 요청을 처리하는 스레드를 따로 생성하기 때문에 결과 적으로 C10K 문제를 해결하지 못했다. Event-Driven이란? 기존의 Event방식과 동일하게 진행된다.
Thread pool 이란? Thread Pool 이란? 쉽게말해서는 스레드를 미리 만들어 두는 것이다. 그렇다면 스레드를 미리 만들어두면 어떠한 이점이 있는가? thread pool의 장점 스레드를 생성/수거하는데 드는 비용이 들지 않는다. 스레드가 생성될 때 os가 메모리 공간을 확보해주고 메모리를 스레드에게 할당해준다. 스레드 풀을 미리 만들어 두기 때문에 처음에 생성하는 비용은 들지만 이전의 스레드를 재사용할 수 있으므로 시스템자원을 줄일 수 있고, 작업을 요청시 이미 스레드가 대기중인 상태이기때문에서 작업을 실행하는데 딜레이가 발생하지 않는다. thread pool의 단점 thread pool에 thread를 너무 많이 생성해 두었다가 사용하지 않으면 메모리 낭비가 발생한다. 예를 들어 pool에 100개의 thread를 ..
tengine 웹서버 설치하기 tengine을 설치하기위해 먼저 우분투에서 필요한 필수사항을 설치하자 apt-get install gcc libpcre3 libpcre3-dev zlib1g-dev apt-get install libssl-dev 그 다음 tengine 페이지에가서 다운받을 버전을 선택한다. http://tengine.taobao.org/download.html 그 다음 wget으로 파일을 다운받자 wget http://tengine.taobao.org/download/tengine-2.2.2.tar.gz 다운받은 tar파일을 해제하고 tar -zxvf tengine-2.2.2.tar.gz 해제한 파일로 이동하자 cd tengine-2.2.2 그 다음 ./configure을 진행하도록 하자 ./configure --pi..
PNG,GIF,JPEG,BMP 파일의 차이 PNG (Portable Network Graphics) PNG 포맷을 만들게 된 배경 PNG(Portable Network Graphics)는 비손실 그래픽 파일 포맷의 하나이다. PNG는 미국의 컴퓨 서브(Compu Serve)가 중심이 되어 개발한 그래픽 포맷으로 인터넷과 같은 네트워크상에서 빠른 전송과 이미지 재생이 가능하다. PNG는 미국 유니시스(UNISYS)사의 GIF 포맷에 대항하기 위해 만들어졌다. 즉, GIF의 저작권을 가지고 있던 유니시스사가 GIF에 저작권료를 부가하려는 움직임을 보이자 이에 대한 대안으로 컴퓨 서브가 주축이 된 연합세력이 등장하게 된 것이다. PNG는 1995년경에 처음으로 등장하였으며, 유닉스 매킨토시 등 각기 다른 기종의 시스템과 어플리케이션에서 동일한 그래픽 ..
프로세스란? 프로세스(process)는 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램을 말한다. 종종 스케줄링의 대상이 되는 작업(task)이라는 용어와 거의 같은 의미로 쓰인다. 참고: wiki 결국 프로세스는 하나의 작업이라고 생각하고 실제로 어떻게 쓰이는지 작업관리자를 열어 보았다. 하나의 프로그램을 실행시키면 하나의 프로세스가 생성된것을 볼 수 있다.
가비지 컬렉션이란? 쓰레기 수집(garbage collection 가비지 컬렉션, GC)은 메모리 관리 기법 중의 하나로, 프로그램이 동적으로 할당했던 메모리 영역 중에서 필요없게 된 영역을 해제하는 기능이다.
WebServer와 Was의 차이 +나눠진이유 WebServer를 공부하던중에 Was Server라는 말이나와서 찾아보게되었다. 먼저 Was는 Web Appliaction Server의 줄임말이다. WebServer는 정적인 페이지를 표현하기 위해 사용하는것이고 Was는 동적인 페이지를 표현하기 위해 사용하는것이다. 쉽게풀어서 말하자면, WebServer는 순수 Html로 만든것을 말하고, Was는 로그인, 회원목록 불러오기 등 가공이 필요한 정보를 말하는것이다. 클라이언트가 정적인 파일들(이미지, 동영상, HTML 문서) 등을 요구한다면Web에서 WAS에게 물어보지 않고 바로 자원을 넘겨준다. 그 외에 사용자에 맞춰 다른 컨텐츠(동적인 파일)를 보여줘야 한다면, WAS에게 해당 요청을 전달하고 WAS에게 완성된 HTML을 받아 User에게 다시 전..