개요 ✔ HTTP(Hyper Text Transfer Protocol) ? - No Data Encryption Implemented ! - Stateless system - As an "application layer protocol", HTTP remains focused on presenting the information, but cares less about the way this information travels from one place to another. Unfortumately, this means that HTTP can be intercepted and potentially altered, making both the information and the information rec..
이진 탐색 트리(BST, Binary Search Tree) 이진 탐색 트리 정의 이진탐색 트리란 모든 노드에 대해서, 왼쪽 서브트리에 있는 데이터는 모두 현재 노드 값보다 작고, 오른쪽 서브트리에 있는 데이터는 모든 현재 노드의 값보다 큰 성질을 만족하는 이진트리이다. 왼쪽 및 오른쪽 하위 트리도 각각 이진 탐색 트리이며, 각 노드는 중복된 키를 허용하지 않는다. 연산의 정의 ▶ insert(key, data) : 트리에 주어진 데이터 원소를 추가한다. ▶ remove(key) : 특정 원소를 트리로 부터 삭제한다. ▶ lookup(key) : 특정 원소를 검색한다. ▶ inorder(): 키의 순서대로 데이터 원소를 나열한다. ▶ min(), max(): 최소 키, 최대 키를 가지는 원소를 각각 탐색..
개요 큰 틀에서의 차이를 보면 대칭 키 암호화 방식은 암 복호화에 사용하는 키가 동일한 암호화 방식을 말한다. 반대로 공개 키 암호화 방식은 암 복호화에 사용하는 키가 서로 다르며 따라서 비 대칭 키 암호화라고도 한다. 공개키 암호화에서는 송 수신자 모두 한쌍의 키(개인키, 공개키)를 갖고 있게 된다. 대칭 키 암호(symmetric-key algorithm) 알고리즘 대킹 키 암호는 암호화 알고리즘의 한 종류이며, 암호화와 복호화에 같은 암호 키를 쓰는 알고리즘을 의미한다. 대칭 키 암호에서는 암호화를 하는 측과 복호화를 하는 측이 같은 암호 키를 공유해야 한다. 이러한 점은 공개 키 암호에서 공개 키와 비밀 키를 별도로 가지는 것과 구별된다. 대신 대부분의 대칭 키 암호는 공개 키 암호와 비교해서 계..
OSI 7계층 이란? OSI 7 계층 OSI 7 계층(OSI 7 Layer)는 네트워크 프로토콜이 통신하는 구조를 7개의 계층으로 분리하여 각 계층간 상호 작용하는 방식을 정해 놓은 것이다. 이는 ISO(International Organization for Standardization; 국제표준화기구)에서 개발한 모델이다. * Open Systems Interconnection (OSI) Model OSI 7 계층 단계 Layer 7: 응용 프로그램 계층(Application Layer) 응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 수행하는 계층이다. 응용 계층은 OSI 7 계층 모델에서 최상위 계층으로 사용자가 네트워크 자원에 접근하는 방법을 제공한다. 또한 계층 7은 최종적으로 사용자가 볼..
경쟁 상태(Race Condition)란 ? 1. 경쟁 상태(Race Condition) 공유 자원에 대해 여러 프로세스가 동시에 접근을 시도할 때, 타이밍이나 순서 등이 결과 값에 영향을 줄 수 있는 상태를 의미한다. 공유 자원에 여러 프로세스가 동시에 접근할 때 자료의 일관성을 해치는 결과가 나타날 수 있다. 2. 경쟁 상태(Race Condition) 가 발생하는 경우 ✔ 커널 코드 실행 중에 인터럽트가 발생한 경우 커널 모드에서 데이터를 로드 하여 작업을 하던 도중 인터럽트가 발생하여 같은 데이터를 조작하는 경우에 발생할 수 있다. 커널이 가진 전역변수는 모든 프로세스의 공유물이므로 경쟁상태의 가능성이 있다. ✔ 프로세스가 시스템 콜(System call)을 하여 커널 모드로 진입해서 작업을 수행..
데드락(Deadlock, 교착 상태) 이란? 1. 데드락(Deadlock, 교착상태) 프로세스는 실행을 위해 여러 자원을 필요로 한다. CPU, 메모리, 파일 등등 여러 자원을 사용하여 프로세스가 실행된다. 그러나 어떤 자원은 갖고 있으나 다른 자원을 갖지 못할 경우 대기 상태에 들어가서 기다려야 한다. 자원은 한정되어 있는데 여러 프로세스가 같이 동작하는 상황이여서 이러한 상황이 발생하게 된다. 그러므로 운영체제는 이러한 자원을 프로세스에게 잘 할당을 해주어야 한다. 만약 운영체제가 잘 할당을 해주지 못하면 모든 프로세스가 자원을 가지려고 대기하는 교착상태에 빠질 수 있다. 즉, 데드락(Deadlock, 교착상태)이란, 일련의 프로세스들이 서로가 가진 자원을 기다리며 block 되어 더 이상 진행이 될..
프로세스(Process) ? - 프로세스란 실행 중에 있는 프로그램(Program)을 의미한다. - 스케줄링의 대상이 되는 작업(Task)와 같은 의미로 쓰인다. - 프로세스 내부에는 최소 하나의 스레드(Thread)를 가지고 있는데, 실제로는 스레드 단위로 스케줄링을 한다. - 하드디스크에 있는 프로그램을 실행하면, 실행을 위해서 메모리 할당이 이루어지고, 할당된 메모리 공간으로 바이너리 코드가 올라 가게 된다. 이 순간부터 프로세스라 부른다. 프로세스 상태(Process state) 1. Running state CPU에 의해서 실행되고 있는 상태 2. Ready State CPU 할당을 받으면 바로 Running State로 들어가 실행할 수 있는 상태(CPU를 사용하지 않고 있다.) 3. Bloc..
운영체제(OS; Operating System)란 컴퓨터 시스템은 대개 네 가지 구성요소인 하드웨어, 운영체제, 응용 프로그램 및 사용자로 구분할 수 있다. 하드웨어는 중앙 처리장치(CPU), 메모리 및 입출력(I/O) 장치로 구성되어, 기본 계산용 자원을 제공한다. 응용 프로그램인 워드 프로세서, 스프레드시트, 컴파일러, 웹 브라우저 등은 사용자의 계산 문제를 해결하기 위해 이들 자원이 어떻게 사용될지를 정의한다. 운영체제는 다양한 사용자를 위해 다양한 응용 프로그램 간의 하드웨어 사용을 제어하고 조정한다. 즉, 하드웨어를 관리하고 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 응용 프로그램과 하드웨어 간의 인터페이스로써 다른 응용 프로그램이 유용한 작업을 할 수 있도록 환경을 제공해준다. 운영체제의 ..
- Total
- Today
- Yesterday
- 코드업 기초
- https
- 리스트
- 정렬
- 이차 리스트
- CS 스터디
- 스터디
- 완전탐색
- 운영체제
- 네트워크
- 리스트2
- CS.
- 자료구조와알고리즘 23강
- 리스트함축
- Greedy sort
- 프로그래머스
- 이진탐색
- 프로그래머스강의
- 데이터베이스
- SW
- 리스트 복사
- 자바
- CS
- 알고리즘
- 파이썬
- 보험
- 프로세스 주소공간
- 자료구조
- 연결리스트활용
- It
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |