가상 메모리 part 1
등장 배경 가상 메모리는 1960년대 영국 맨체스터 대학교에서 제작된 아틀라스 컴퓨터 시스템에서 처음 등장했다. 메인 메모리보다 용량이 큰 기억 공간에 주소를 지정할 수 있게 해주는 메모리 관리 기법으로, 메인 메모리에서 사용자와 논리 메모리를 물리적으로 분리해 프로그래머에게 가상의 메모리 공간을 제공한다. 계층 구조 가상 메모리 시스템은 주로 페이징으로 구현된다. 메인 메모리를 더 효율적으로 사용할 수 있게 해 더 많은 작업을 메모리에 적재할 수 있고, 프로그래머가 메인 메모리의 제한된 용량과 중첩 사용 문제를 신경 쓰지 않아도 되게 해준다. 동시성 가상 메모리는 실제 프로세스 실행에 꼭 필요한 부분만 메인 메모리에 두고, 나머지는 2차 기억장치(디스크)에 저장한다. 가상 메모리 공간에 흩어져 있던 프로세스의 항목들이 2차 기억장치에 분산 적재되었다가, 프로세스가 실행되면서 필요한 만큼만 메인 메모리로 옮겨지는 방식이 가상 메모리 관리 기법을 가능하게 하는 이유다. 실제로 모...
Part 02. 프로세스와 스레드
프로세스, 스레드(2) 프로세스에서 실행 제어만 분리한 실행 단위 스레드를 하나만 가진 작업을 중량 프로세스(HWP)라 부른다. 여기서 **경량 프로세스(LWP)**는 프로세서를 사용하는 기본 단위로, 명령어를 독립적으로 실행할 수 있는 하나의 제어 흐름을 뜻한다. 이런 스레드들이 모인 그룹 환경을 작업이라 하며, 같은 그룹에 속한 스레드들은 코드, 주소 공간, 파일이나 신호 같은 운영체제 자원을 함께 공유한다. 작업에 스레드가 하나도 없으면 아무 일도 할 수 없으므로, 작업은 반드시 스레드를 가져야 한다. 프로세스와 스레드의 구성 프로세스는 스레드를 하나 이상 가지며, 각 스레드는 다음 정보를 담고 있다: 스레드의 실행 상태(실행, 준비), 실행 스택, 지역 변수와 스레드별 데이터를 저장하는 스레드별 정적 저장소, 그리고 프로세스의 다른 스레드가 공유하는 메모리와 자원에 대한 접근 정보를 포함한 실행 환경(문맥) 정보다. 스레드의 장점 프로세스에 속한 스레드들은 공통의 목적을...
Part 01. 프로세스와 스레드는 어떤 관계일까?
프로세스, 스레드 프로세스 프로세스라는 용어는 1960년대 멀틱스 시스템 설계자들이 작업(job)이라는 말과 함께 처음 사용했으며, 이후 다양하게 정의되어 왔다. 가장 널리 쓰이는 정의는 실행 중인 프로그램이다. 디스크에 저장되어 있던 실행 가능한 프로그램이 메모리에 적재되어 운영체제의 제어를 받는 상태를 프로세스라 한다. 이는 해당 프로세스가 사용하는 메모리 영역, 즉 자신만의 주소 공간이 존재한다는 뜻이기도 하다. 프로세스는 프로세서 점유 시간과 메모리, 파일, 입출력 장치 같은 자원이 필요하며, 이 자원들은 프로세스가 생성되고 실행될 때 할당된다. 또한 현재 활동 상태를 나타내는 프로그램 카운터와, 프로세서의 현재 활동을 나타내는 레지스터 내용도 함께 포함한다. 프로그램과 달리 프로세스는 메모리에 주소 공간을 가진 능동적인 개체다. 이 주소 공간은 몇 가지 영역으로 나뉜다. **실행 스택(Stack)**은 호출된 프로시저(함수)의 복귀 주소와 지역 변수 같은 일시적인 데이...
정보는 무엇인고? 그렇다면 파일은?
데이터, 정보, 파일 정보는 인간이 사회생활을 하는 데 필수적인 요소다. 얼마나 유용한 정보를 활용하느냐가 여러 시스템의 성공과 실패를 가를 만큼 중요한 역할을 한다. 데이터는 이 정보의 기본 재료이고, 파일은 저장된 데이터 중 특정한 목적을 가지고 서로 연관성 있는 레코드들을 묶은 집합이다. 파일의 종류 기능에 따른 분류 마스터 파일: 어떤 업무의 기본이 되는 파일. 삽입, 삭제, 수정을 거치며 현재 상태를 계속 반영해 유지한다. 트랜잭션 파일: 마스터 파일에 적용할 수정 내용을 담아두는 파일. 마스터 파일을 수정하거나 삭제할 때 쓰는 보조 파일이다. 보고서 파일: 사용자에게 작업 결과를 보여주는 형식의 파일. 대개 역할별로 정해진 형식을 따르며, 프린터 출력 등에 사용된다. 접근 유형에 따른 분류 작업 파일: 어떤 작업으로 생성된 자료를 다른 작업에 전달할 때 쓰는 임시 파일. 프로그램 파일: 저장된 자료를 특정 목적에 맞게 처리하기 위한 파일. 텍스트 파일: 주로 문...
네트워크 및 서비스의 활용
Chapter 01. 네트워크 서비스 1.1 웹 관련 서비스 1.2 인증 관련 서비스 1.3 파일 관련 서비스 1.4 메일 관련 서비스 1.5 DNS 관리 1.6 가상화 관리 1.7 기타 서비스 Chapter 02. 네트워크 보안 2.1 네트워크 침해 유형 및 특징 2.2 대처 및 대처 방안


