Computer Science
-
[CS] Windows kernel programmingComputer Science/CS 2022. 9. 7. 23:25
Kernel 운영체제의 중심에 위치하여운영체제에 기본적인 기능을 제공하는 핵심 부분입니다. 모든 작업은 커널의 동작에 의해 제어되며, 프로세스 관리, 메모리 관리, 파일 시스템 관리, 인터럽트 처리, 프로그래밍 인터페이스 제공 등의 기능을 제공합니다. 하드웨어에 관련된 모든 작업은 응용 프로그램이 직접 접근 해서 사용하는 것이 아닌, 하드웨어와 소프트웨어의 중간에서 그 동작을 중계 역할을 하는 소프트웨어에 종속되어 '요청'을 하는 것입니다. 바로 그러한 역할을 하는 것이 커널입니다. Kernel object - Kernel에 의해 관리되는 리소스 정보를 담고 있는 데이터 블록입니다. - OS가 하드웨어 제어를 하며, 해당 리소스에 대한 Kernel의 제어 단위라고 할수 있습니다. - Kernel이 실행되..
-
[CS] SSL/TLS통신Computer Science/CS 2022. 9. 7. 14:33
SSL : Secure Socket Layer Netscape사에서 웹서버와 브러우저 사이의 보안을 위해 만들었다. SSL은 Certificate Authority(CA)라 불리는 서드 파티로 부터 서버와 클라이언트의 인증을 하는데 사용된다. SSL handshake protocol SSL ciper change protocol SSL alert protocol Application protocol (HTTP) SSL Record Protocol TCP IP (SSL 프로토콜 스택) TLS : Transport Layer Security TLS는 웹 사이트를 로드하는 웹 브라우저와 같이 웹 응용 프로그램과 서버 간의 커뮤니케이션을 암호화한다. 또한 이메일, 메시지, 보이스오버 IP(VoIP)와 같은 다른..
-
[자료구조] Array(배열) , dynamic arrayComputer Science/Data Structure 2022. 9. 5. 17:17
Array Array 란? 배열은 연속된 메모리 공간에 순차적으로 저장된 데이터 모음입니다. 메모리상에 연속적이며 순차적으로 미리 할당된 크기만큼 저장합니다. 배열을 구성하는 각각의 값을 요소(element)라고 하며, 배열의 위치를 가르키는 숫자를 index라고 합니다. Array 특징 고정된 저장 공간 순차적인 데이터 저장 배열에 각 요소에 접근하는 시간은 O(1)로 모두 동일 - 기본위치 + offset(요소크기 * index)연산으로 모든 요소에 접근 가능 연속된 메모리에 단일 블록화하여 데이터를 저장 - 낭비되는 공간이 거의 없음 - 큰 배열일 경우, 필요 메모리 할당이 불가능할 수 있음 실제 메모리 상에서 물리적으로 데이터가 순차적으로 저장되고, indexing, slicing 가능 Array..
-
[CS] 운영체제(OS, Operating System)Computer Science/CS 2022. 5. 10. 18:28
1. 운영체제(OS, Operating System) 이란? 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 사용자가 컴퓨터를 편리하고, 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임이다. 컴퓨터 사용자와 컴퓨터 하드웨어 간의 인터페이스로써 동작하는 시스템 소프트웨어의 일종으로, 다른 응용프로그램이 유용한 작업을 할 수 있도록 환경을 제공한다. 2. 운영체제 기능 운영체제의 기능은 크게 자원관리, 시스템관리로 분류된다. (1) 자원관리 : 메모리 관리(메인 메모리, 보조기억장치), 프로세스 관리, 주변장치 관리, 파일(데이터) 관리 (2) 시스템 관리 : 시스템 보호(사용자 권한 부여), 네트워크(통신), command interpreter 등의 기능을 지원한다. 3. 부팅(Bootin..