본문 바로가기

전체 글

Main Memory Management Main Memory Management, 주 메모리 관리 주 메모리라고 하는 것은 Word나 Byte로 이루어진 CPU나 I/O장치에 의해서 사용되고 빠르게 접근 할수 있는 데이터의 저장소이다. 이러한 주 메모리는 휘발성 저장 장치로 만일 시스템 오루가 발생하면 그 내용을 잃는다. Main Memory는 CPU가 주소를 지정하여 접근할 수 있는 유일한 저장장치이다. CPU의 경우 Main Memory로부터 Instruction-fetch Cycle에 명령어를 읽고 Data-fetch Cycle에 데이터를 읽거나 기록한다. I/O장치의 경우 는 DMA를 통해 main memory에 data를 읽거나 기록한다. O.S는 다음과 같은 관리를 해주어야만 한다. 1. Memory의 어느 부분이 사용중이고 또 어.. 더보기
C++ 현재 출력중 화면 지우기(cls) 현재 화면에 나타나는 부분을 지우는 예제입니다. 실시간으로 출력되거나 필요에 의해 화면이 지워져야 할 때 사용하면 좋을 것 같네요. 사용되는 부분은 system("cls");입니다. 이 부분이 화면을 지워주게 됩니다. 예제 함께 올릴테니 참고하세요. 더보기
Hello? 간단히 Hello?를 출력하는 브라우저를 만들어봅시다. 1) 이클립스로 소스를 입력합니다. import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class Hello extends HttpServlet{ @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp).. 더보기
apache tomcat 7.0을 이용한 자바프로그래밍 밤새고 글을 올리는건 참 오랜만이지 싶네요. 기초설정부터 해야합니다. - 스크린 찍기는 귀찮으니 글로 씁니다. 1) tomcat 7.0을 설치합니다.(tomcat.apache.org) - tomcat.apache.org 으로 접속합니다. - 왼쪽 화면에 Download에서 tomcat7.0을 선택합니다. - 중간 화면에 Core - 32-bit/64-bit Windows Service Installer 를 선택합니다 * 이 과정을 건너뛸 수 있도록 직접적인 주소 > (http://apache.mirror.cdnetworks.com/tomcat/tomcat-7/v7.0.47/bin/apache-tomcat-7.0.47.exe) - 설치 세부내용(이미지)가 필요하신 분은 http://vocalstars.ti.. 더보기
Servlet 이란 무엇인가? 서블릿이 무엇인지 찾아보다 그중에 제일 괜찮게 이해가 되는 글을 찾아서 담아왔다. 서블릿이 무엇인지도 모르고 짜다가는 영혼없는 프로그램이 될것이야.ㅎㅎ 1. 서블릿이란 무엇인가? 먼저 서블릿이라는 개념을 잘 이해하는 것이 중요하다고 생각한다. 개념을 이해하지 못한다면 뒤로 갈수록 동작 여부에만 만족하는 싸구려 개발자가 될 가능성이 크다. 하지만 이 서블릿이라는 놈은 개념 잡기가 매우 힘들었다. 자바의 어떤 한 기술을 말하는건지, 자바 클래스를 말하는건지 아니면 어떤 클래스를 상속 받아서 구현된 자바 프로그램들을 말하는건지... 즉, 어떤 기술을 서블릿이라고 부르는건지, 어떤 규칙을 지킨 하나의 웹 어플리케이션을 말하는건지 너무 햇갈렸다. 내 성격상 일단 받아들이고 천천히 이해하려는 성격은 아닌지라... .. 더보기
Hardware Protection - CPU Protection CPU Protection CPU에 대한 제어권을 계속해서 사용자 프로그램이 가지고 있거나 사용자 프로그램이 Infinite Loop이면 해당 사용자 프로그램이 CPU를 독점할 가능성이 있다. 이러한 문제를 방지하기 위해서 Timer를 사용한다. 제어원을 사용자 프로드램에게 넘겨줄때 counter를 설정한 다음 Clock마다 1씩 감소 시킨다. 만일 Clock이 0이 되면 하드웨어 적으로 Timer Interrupt가 발생하게 되고 제어권은 다시 CPU에게 돌아간다. 그리고 counter를 다시 설정하고 제어권을 다른 프로그램에게 넘겨준다. 이러한 Timer는 위와 같이 문제를 유발할때 뿐만이 아니라 Time-Sharing System에서도 쓰인다. Time-Sharing System에서 일정 시간이 지.. 더보기
Hardware Protection - Memory Protection Memory Protection 인터럽트 벡터, 인터럽트 서비스 루틴, OS 프로그램, user 프로그램 등 다양한 프로그램들이 비정상적으로 작동 즉, 할당되지 않는 메모리 영역을 참조하는 것을 막기 위해 Memory Protection이 존재한다. 그 한 예 로써 Base Register와 Limit Register를 들수 있다. Base Register는 어떤 프로세스에 할당된 메모리 영역의 시작주소를 가르킨다. Limit Register는 어떤 프로세스에 할당된 메모리 영역의 길이를 나타낸다. 위 두 Register를 이용하여 만일 어떤 프로세스가 자신에게 할당된 메모리의 영역을 벗어난 부분을 참조하려고 한다면 하드웨어적으로 fatal error가 발생한다. 여기서 Base Register와 Lim.. 더보기
Hardware Protection - I/O Protection I/O Protection 만일 사용자가 I/O명령어를 잘못 사용하게 되면 운영체제, CPU, 사용자 프로그램의 오기능을 초래할 가능성이 있다. 그렇기 때문에 모든 I/O명령어들을 Privileged Instruction으로 설정 함으로써 이를 방지 할 수 있다. 위 그림중 Trap이란 System Call로써 필요에 의해서 Software적으로 발생하는 인터럽트이다. 더보기