작업(Job) / 프로그램 실행할 프로그램과 데이터를 합친 것으로써 컴퓨터 시스템에 실행 요청 전의 상태를 말한다. 프로세스(Process) 프로그램 실행을 위해 시스템(커널)에 등록되고 시스템 성능 향상을 위해 커널에 의해 관리되는 상태를 말한다. 각종 자원들을 요청하고 할당을 받을 수 있으며, 실행 중인 프로그램이라고도 불리운다. 자원 커널의 관리하에 프로세스에게 할당되거나 반납되는 수동적인 개체를 말한다. PCB(Process Control Block) OS가 프로세스 관리에 필요한 정보들을 저장하는 공간으로써 프로세스가 생성시 동시에 만들어진다. PCB안에는 하나의 프로세스의 정보가 담긴다. 1. PCB에 저장되는 정보(Process Metadata) 가. PID(Process Identifica..
운영체제 운영체제는 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 사용자가 컴퓨터를 편리하고, 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램들의 모임이다. 운영체제의 구조 1. 단일 구조 - 장점: 커널 내 모듈간 직접 통신 - 단점: 커널의 거대화 -> 오류 및 버그, 추가기능 구현 등 유지보수가 어려움 2. 계층 구조 - 장점: 모듈화, 설계 및 구현의 단순화 - 단점: 단일 구조 대비 성능이 저하 운영체제의 구분 1. 단일 사용자 시스템 가. Windows 나. Android 2. 다중 사용자 시스템 가. Unix 나. Linux 운영체제의 종류 1. 단일 작업 시스템(Single-Tasking System) 하나의 프로그램 실행을 마친 뒤에 다른 프로그램 생성 가. DOS 나. CMD..
HTTP(HyperText Transfer Protocol) 인터넷 상에서 클라이언트와 서버가 자원을 주고 받을 때 쓰는 통신 규약 - HTTP는 텍스트 교환이므로, 누군가 네트워크에서 신호를 가로채면 내용이 노출되는 보안 이슈 존재 - 이런 보안문제를 해결해 주는 프로토콜이 HTTPS HTTPS(HyperText Transfer Protocol Secure) 인터넷 상에 정보를 암호화하는 SSL 프로토콜을 사용해 클라이언와 서버가 자원을 주고 받을 때 쓰는 통신 규약 HTTP를 암호화한다. - HTTPS 통신흐름 STEP1. CA(인증기관) 계약 STEP2. 브라우저와 서버의 통신 HTTPS도 무조건 안전한 것은 아니다. (신뢰받는 CA기업이 아닌 자체 인증서를 발급하는 경우)
대칭키 암호화와 복호화에 같은 암호키(대칭키)를 사용하는 알고리즘 - 동일한 키를 주고 받기때문에, 매우 빠름 - 대칭키 전달과정에서 해킹 위험에 노출이 있음 공개키 암호와와 복호화에 사용하는 암호키를 분리한 알고리즘 - 자신이 가지고 있는 고유한 암호키(비밀키)로만 복호활 할 수 있고, 암호키(공개키)를 대중에 공개함 - 공개키 암호화 방식 진행과정 1) A가 웹 상에 공개된 'B의 공개키'를 이용해 평문을 암호화하여 B에게 보냄 2) B는 자신의 비밀키로 복호화한 평문을 확인한 후 A의 공키로 응답을 암호화하여 A에게 보냄 3) A는 자신의 비밀키로 암호화된 응답문을 복호화 함 - 대칭키의 단점을 해결했지만, 암호화 복호화가 매우 복잡하다는 단점을 지님 SSL 방식 대칭키와 공개키 암호화 방식을 적절..