암호화 기법 암호화(Encryption)는 데이터를 보낼 때 송신자가 지정한 수신자 이외에는 그 내용을 알 수 없도록 평문을 암호문으로 변환하는 것이고, 복호화(Decryption)는 암호화된 데이터를 원래의 평문으로 복구하는 것을 의미합니다. 암호화 기법에는 비밀키 암호화 기법과 공용키 암호화 기법이 있습니다. 비밀키 암호화 기법 1. 동일한 키로 데이터를 암호화하고, 해독(복호화)하는 대칭 암호화 기법입니다. 2. 해독키를 아는 사람은 누구든지 암호문을 해독할 수 있으므로 해독키의 비밀성을 유지하는 것이 중요합니다. 3. 암호화/복호화 속도가 빠르며 알고리즘이 단순하고 파일의 크기가 작습니다. 4. 사용자의 증가에 따라 관리해야 할 키의 수가 상대적으로 많아지고 키의 분배가 어렵습니다. 5. 비밀키 ..
운영체제 보안 보안은 컴퓨터 시스템 내에 있는 프로그램과 데이터에 대하여 통제된 접근 방식을 어떻게 제공할 것인가를 다루는 것입니다. 물리적 환경적 취약점을 이용한 침입, 방해, 절도 등의 행위로부터 컴퓨터 시스템내의 자원을 보호하고 대응하기 위한 일련의 정책과 행위를 말하는데요. 컴퓨터 시스템에 의해 정의된 자원에 대하여 프로그램, 프로세스 또는 사용자의 허용된 권한 외에는 접근을 제한하여 자원의 손상 및 유출 등을 방지하는 기법입니다. 보안 유지 기법 외부 보안(External Security) 외부 보안에는 컴퓨터 시스템의 물리적 보안을 위한 시설 보안과 운용자의 정책을 통한 시설 보안이 있습니다. 시설 보안 : 천재지변이나 외부 침입자로부터의 보안을 의미하는 것으로, 연기나 열을 감지하고 사람의 ..
기억장치 계층 구조의 특징 기억장치는 레지스터, 캐시 기억장치, 주기억장치, 보조기억장치등이 있습니다. 1. 계층 구조에서 상위의 기억장치일수록 접근 소도와 접근 시간이 빠르지만 기억 용량이 적고 비쌉니다. 2. 주기억장치는 각기 자신의 주소를 갖는 워드 또는 바이트들로 구성되어 있으며, 주소를 이용하여 액세스 할 수 있습니다. 3. 레지스터, 캐시 기억장치, 주기억장치의 프로그램과 데이터는 CPU가 직접 액세스할 수 없습니다. 4. 보조기억장치에 있는 데이터는 주기억장치에 적재된 후 CPU에 의해 액세스될 수 있습니다. 운영체제의 기억장치의 관리 전략 기억장치의 관리 전략은 보조기억장치의 프로그램이나 데이터를 주기억장치에 적재시키는 시기, 적재 위치등을 지정하여 한정된 주기억장치의 공간을 효율적으로 사..
교착상태란? 교착상태(Dead Lock)은 상호 배제에 의해 나타나는 문제점으로, 둘 이상의 프로세스들이 자원을 점유한 상태에서 서로 다른 프로세스가 점유하고 있는 자원을 요구하며 무한정 기다리는 현상을 의미합니다. 아래 그림과 같이 자동차(프로세스)들이 현재 위치한 길(자원)을 점유함과 동시에 다른 차가 사용하는 길을 사용하려고 대기하고 있지만 다른 길을 사용할 수 없으며 현재 길에서도 벗어나지 못하는 상태입니다. 교착상태 발생의 필요 충분 조건 교착상태가 발생하기 위해서는 다음의 네가지 조건이 충족되어야 하는데, 이 네가지 조건중 하나라도 충족되지 않으면 교착상태가 발생하지 않습니다. 상호배제(Mutual Exclusion) 한번에 한개의 프로세스만이 공유 자원을 사용할 수 있어야 합니다. 점유와 대..
병행 프로세스 병행 프로세스는 두개이상의 프로세스들이 동시에 존재하며 실행 상태에 있는 것을 의미합니다. 1. 여러 프로세스들이독립적으로 실행되는 것을 독립적 병행 프로세스, 서로 협력하며 동시에 실행되는 것을 협동적 병행 프로세스라고 합니다. 2. 병행 프로세스는 다중 처리 시스템이나 분산 처리 시스템에서 중요한 개념으로 사용됩니다. 임계 구역 임계구역은 다중 프로그래밍 운영체제에서 여러개의 프로세스가 공유하는 데이터 및 자원에 대하여 어느 한 시점에서는 하나의 프로세스만 자원 또는 데이터를 사용하도록 지정된 공유 자원을 의미합니다. 1. 임계구역에는 하나의 프로세스만 접근할 수 있으며, 해당 프로세스가 자원을 반납한 후에만 다른 프로세스가 자원이나 데이터를 사용할 수 있습니다. 2. 임계 구역은 특정..
스케줄링이란? 1. 스케줄링은 프로세스가 생성되어 실행될때 필요한 시스템의 여러자원을 해당 프로세스에게 할당하는 작업을 의미합니다. 2. 프로세스가 생성되어 완료될때까지 프로세스는 여러 종류의 스케줄링 과정을 거치게 됩니다. 3. 스케줄링의 종류에는 장기 스케줄링, 중기 스케줄링, 단기 스케줄링이 있습니다. 장기 스케줄링 어떤 프로세스가 시스템의 자원을 차지할 수 있도록 할 것인가를 결정하여 준비상태 큐로 보내는 작업을 의미합니다. 작업 스케줄링, 상위 스케줄링이라고도 하며, 작업 스케줄러에 의해 수행됩니다. 중기 스케줄링 어떤 프로세스들이 CPU를 할당 받을 것인지 결정하는 작업을 의미합니다. CPU를 할당받으려는 프로세스가 많을 경우 프로세스를 일시 보류시킨 후 활성화해서 일시적으로 부하를 조절합니다..
PCB란? PCB(프로세스 제어블록)는 운영체제가 프로세스에 대한 중요한 정보를 저장해 놓는 곳으로 Task Control Block 또는 Job Control Block이라고도 합니다. 각 프로세스가 생성될 때마다 고유의 PCB가 생성되며 프로세스가 완료되면 PCB는 제거됩니다. PCB에 저장되어 있는 정보 저장정보 설명 프로세스의 현재 상태 준비, 대기, 실행 등의 프로세스 상태 포인터 부모 프로세스에 대한 포인터 : 부모 프로세스의 주소 기억 자식 프로세스에 대한 포인터 : 자식 프로세스의 주소 기억 프로세스가 위치한 메모리에 대한 포인터 : 현재 프로세스가 위치한 주소 기억 할당된 자원에 대한 포인터 : 프로세스에 할당된 각 자원에 대한 주소 기억 프로세스 고유 식별자 프로세스를 구분할 수 있는 ..
프로세스란? 프로세스는 일반적으로 CPU에 의해 처리되는 사용자 프로그램, 시스템 프로그램 즉 실행중인 프로그램을 의미하며, 작업(Job) 태스크(Task)라고도 합니다. 프로세스는 다음과 같이 여러 형태로 정의할 수 있습니다. 1. PCB를 가진 프로그램 2. 실기억장치에 저장된 프로그램 3. 프로세서가 할당되는 실체로서, 디스패치가 가능한 단위 4. 프로시저가 활동중인 것 5. 비동기적 행위를 일으키는 주체 6. 지정된 결과를 얻기 위한 일련의 계통적 동작 7. 목적 또는 결과에 따라 발생되는 사건들의 과정 8. 운영체제가 관리하는 실행 단위 ※ 프로시저란? 한 프로그램은 여러개의 작은 프로그램으로 분할될 수 있는데 이떄 분할된 작은 프로그램을 의미하며, 부 프로그램이라고도 합니다. 프로세스 상태 전..
절대로더 링커(연결 편집기) 링커는 언어 번역 프로그램이 생성한 목적 프로그램들과 라이브러리 또 다른 실행 프로그램등을 연결하여 실행 가능한 로드 모듈을 만드는 시스템 소프트웨어이며 연결 편집기라고도 합니다. 링커는 연결 기능만 수행하는 로더의 한 형태로, 링커에 의해 수행되는 작업을 링킹이라고 합니다. 로더란 무엇인가? 로더는 컴퓨터 내부로 정보를 들여오거나 로드 모듈을 디스크 등의 보조기억장치로 부터 주 기억장치에 적재하는 시스템 소프트웨어 입니다. 로더의 기능 1. 할당 : 실행 프로그램을 실행시키기 위해 기억장치 내에 옮겨놓을 공간을 확보하는 기능 2. 연결 : 부 프로그램 호출 시 그 부 프로그램이 할당된 기억장소의 시작주소를 호출한 부분에 등록하여 연결하는 기능 3. 재배치 : 디스크등의 보조..
운영체제에는 여러가지 운용기법들이 존재하는데 크게 7가지가 존재합니다. 오늘날 사용하는 OS의 운용기법은 주로 다중 모드 처리 방식과 분산 처리 시스템 방식을 사용합니다. 1. 일괄처리 시스템 일괄 처리 시스템은 초기의 컴퓨터 시스템에서 사용된 형태로, 일정량 또는 일정 기간 동안 데이터를 모아서 한꺼번에 처리하는 방식입니다. 1. 일괄처리를 위해 적절한 작업 제어 언어(Job Control Language)를 제공해야 합니다. 2. 컴퓨터 시스템을 효율적으로 사용할 수 있습니다. 3. 반환시간(Turn Around Time)이 늦지만 하나의 작업이 모든 자원을 독점하므로 CPU 유휴 시간이 줄어듭니다. 4. 급여 계산, 지불 계산, 연말 결산등의 업무에 사용됩니다. 2. 다중 프로그래밍 시스템 다중 프..
운영체제란? 운영체제(Operating System)는 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 사용자가 컴퓨터를 편리하고, 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임입니다. 운영체제는 컴퓨터 사용자와 컴퓨터 하드웨어 간의 인터페이스로서 동작하는 시스템 소프트웨어의 일종으로, 다른 응용프로그램이 유용한 작업을 할 수 있도록 환경을 제공해 줍니다. 운영체제의 종류 운영체제의 종류에는 WIndows 98, Windows10, UNIX, LINUX, MS-DOS등이 있습니다. 단일 작업 처리 시스템에는 DOS, 다중 작업 처리 시스템에는 WINODWS, UNIX, LINUX등이 사용됩니다. 주로 WINDOWS는 개인용 UNIX, LINUX는 서버용 운영체제로 사용됩니다. 운영체제의..
시스템 소프트웨어 1. 시스템 소프트웨어는 시스템 전체를 작동시키는 프로그램으로, 프로그램을 주기억장치에 적재시키거나 인터럽트 관리, 장치관리, 언어 번역 등의 기능을 담당합니다. 2. 시스템 소프트웨어의 가장 대표적인 프로그램으로 운영체제가 있으며, 그 외에는 언어 번역 프로그램, 매크로 프로세서, 링커, 라이브러리, 정렬/합병 프로그램, 로더 등이 있습니다. 3. 시스템 소프트웨어는 기능별로 제어프로그램과 처리 프로그램으로 분류 할 수 있습니다. 제어프로그램 1. 감시프로그램 2. 작업 제어 프로그램 3. 자료 관리 프로그램 제어 프로그램은 시스템 전체의 작동 상태 감시, 작업의 순서 지정, 작업에 사용되는 데이터 관리 등의 역할을 수행하는 것으로 감시 프로그램과 작업 제어 프로그램으로 구분할 수 있..
리눅스 톰캣 서버를 사용하기 위해서는 우분 투안에서 미리 깔아놓은 이클립스와 톰캣을 연동하는 작업이 필요합니다. 이번 포스팅에서는 우분투 상에서 이클립스와 톰캣을 연동하는 방법에 대해서 알아보겠습니다. 우분투에서 이클립스 톰캣 연동 1. 먼저 이클립스를 실행시킨 뒤 Servers를 누르시고 밑에 보이는 No servers are available. Click this link to create a new server... 를 눌러주세요 2. 자신의 톰캣 버전에 맞는 버전을 선택해주세요 저는 톰캣 8.0버전이 설치되어있으므로 톰캣 8.0을 선택하도록 하겠습니다. 3. Browser...를 눌러서 경로를 설정해주도록 하죠 4. 수동으로 우분투를 설치하신분들은 설치경로를 지정해주시면 되고 톰캣을 터미널로 깔으..