본문 바로가기

전체 글

(71)
01. 컴퓨터 시스템 구조 Intro 컴퓨터는 크게 CPU, 메인메모리(주기억장치), 보조기억장치, I/O 장치로 구성된다. (+ System Bus) 각 구성의 기능을 간략히 얘기하면 다음과 같다. 1) CPU(중앙처리장치) 역할 : 산술연산, 논리연산, 제어 담당 ALU, Register Set, Control Unit으로 구성됨 -ALU: 산술논리연산 처리 -Register Set: 메인메모리에서 가져온 값을 임시로 저장. 즉, CPU 내의 기억장치 -Control Unit: 메인메모리의 데이터를 읽어오기 위한 제어신호를 보냄 2) 메인메모리(RAM) 역할 : 데이터 저장 3) 보조기억장치 역할 : 데이터저장(but, 메인메모리와 메모리 계층이 다름) ex. SSD, HDD 4) I/O 장치 Input : 키보드, 마우스 O..
01. Introduction -네트워크 보안 -네트워크와 시스템에 가해지는 공격 -시큐어 커뮤니케이션 이론 -전통적인 암호화 시스템 (Symmetric Key) -암호화를 위한 기초수학 -공개키 암호화 (Asymmetric Key) -분산 시스템 보안 -보안 프로토콜 -개선된 암호화 기술 -틱톡 어플의 보안 허점이 발견된 바 있음 -중국의 해커가 미국의 더타임즈를 백도어를 통해 공격함 -Stuxnet이라는 웜바이러스의 등장 : 제로데이 공격을 통해 산업시설을 감시 및 파괴함 *제로데이 : 특정 소프트웨어의 아직까지 공표되지 않은, 혹은 공표되었지만 아직까지 패치되지 않은 보안 취약점을 이용한 해킹 -Shamoon 바이러스 등장 : 샤문은 시스템의 MBR 및 파일 변조를 통해 시스템을 파괴하며, 공격자에게 감염 시스템의 악성행위 결과..
02. Transmission Fundamentals Electromagnetic Signal, 전자기신호 정보가 전송되기 위해서는 전자기 신호로 변환되어야 한다. 데이터는 아날로그나 디지털이 될 수 있다. 여러 전압 값을 가지면서 연속적으로 변화하는 신호를 아날로그 신호라 하고, 미리 정해진 전압의 값만 갖는 신호를 디지털 신호라 한다. 전자기 신호는 전기장과 자기장의 동기화된 진동이다. 전기장과 자기장은 서로 독립적이지 않고 상호 연관되어 전자기 유도현상이 발생한다. 전자기 신호는 Frequency, 즉 주파수로 표현된다. Signal은 각자 다른 frequency들로 구성된다. Time-Domain 기본개념 1) Analog signal : 수로 나타낼 수 없는 연속적인 신호. '길이', '각도' 또는 '전류'처럼 외부적인 원인에 의해 연속적으로 변하..
01. Introduction Wireless Network의 역사 1896 - 마카로니가 무선 전화를 발명 : 영숫자를 아날로그 시그널로 encoding함, 대서양을 가로질러 전자신호를 보냄 1970 - AT&T와 벨 연구소가 통신위성을 띄움 이후로 무선 기술은 라디오, TV, 휴대전화..를 통해 발전하였으며, 최근에는 무선 네트워킹, 셀룰러 기술, 모바일 앱, IoT기술로 발전하고있음. ex) WLAN, Wi-Fi, ZigBee, RFID... Cellular Telephone cell은 통신의 기본단위로, 이동 통신에서 하나의 기지국이 포괄하는 지역을 가리키는 개념이다. 이동 통신에서는 제한된 주파수 자원을 보다 효율적으로 사용하기 위하여 넓은 지역을 작은 셀로 나누고 셀 중간에 위치한 기지국이 특정 주파수를 사용하여 서비스를 ..
User Mode, Kernel Mode, Interrupt 현대 OS는 사용자 프로그램의 간섭으로부터 운영체제 및 프로세스 제어블록과 같은 주요 운영체제 테이블을 보호하기 위해 User Mode와 Kernel모드를 나누어 관리한다. 따라서 어플리케이션 프로그램들은 직접 I/O 장치에 접근할 수 없다. User Mode -권한을 덜 가진 모드 -사용자 프로그램들이 수행됨 -HW resource에 대해서는 모두 접근 가능 Kernel Mode -더 많은 권한을 가진 모드 -User Mode가 접근할 수 있는 것들 외에 system resource에 대해서도 접근가능 User Mode와 Kernel Mode의 구분 모드 비트(mode bit)로서 구분됨 mode bit가 1 일 경우 user mode, 0일 경우 kernel mode User Mode와 Kernel ..
Process Abstraction / 프로세스 추상화 프로세스 정의 -실행 중인(running) 프로그램 -처리기에 할당되어 수행될 수 있는 개체 프로세스 구성 메모리(Code,Data,Stack) + 레지스터(Program Counter, Stack Pointer) 프로세스 vs 프로그램 1. 프로그램 -disk에 위치 -disk에 위치하는 실행파일(.exe) 2. 프로세스 -memory에 위치 -프로그램이 memory에 올라와 CPU를 할당받고 실행되고 있는 상태 프로세스 생성 -fork()와 같은 system call을 사용해 process를 생성 -프로그램 코드를 메모리로 로드(= 프로세스 자신의 가상주소공간으로 프로그램 코드를 로드) *이 때 disk와의 I/O는 시간이 많이 걸리는 작업이기 때문에, 한꺼번에 전부를 load하지는 않고 가장 먼저 ..
OS , 커널 정의 OS 정의 -운영체제 -자원관리자 -자원을 관리하는 소프트웨어 -하드웨어를 소프트웨어로 추상화 OS 역할 -사용자가 프로그램을 쉽게 사용할 수 있도록 돕는다. :실제로 HW가 어떻게 작동하는지를 숨기고(가상화), 사용자가 간단하게 사용할 수 있는 관리 도구를 제공(추상화)한다. -시스템이 정확하고 효율적으로 작동하는지 확인한다. 커널 정의 핵심 SW로, 기본적으로 메모리에 상주하는 중요한 코어가 되는 SW 프로세스들이 메모리를 공유하고(=가상화) 디바이스와 상호 작용하는 드으이 작업을 대신함으로써 사용자가 프로그램을 쉽게 돌릴 수 있게하는 SW 가상화 vs 추상화 1. 가상화 -메모리를 공유한다. (메모리 측면) -프로세스를 번갈아 수행하여 마치 CPU가 여러개인 것처럼 보이게한다. (프로세스 측면) 2..
모노리틱 커널, 마이크로 커널, 하이퍼바이저 가상화 컴퓨팅에 필요한 물리적 자원을 복제하는 기술 물리적 자원을 복제하여 새로운 가상의 자원을 생성하는 행위 물리적 자원: 어떠한 컴퓨터를 구동하기 위해 반드시 필요한 CPU나 메모리, 디스크, 네트워크 등의 시스템 자원 커널 시스템에 존재하는 자원을 효율적으로 관리하는 자원 관리자 메모리에 항상 상주하고 있는 프로그램(Memory Resident) 자원관리, 메모리관리, 장치관리 1. 자원 관리 커널은 주소공간과 그 안의 자원에 대한 액세스를 중재할 수 있는 보호 매커니즘을 정의함. 또한 프로세스 간 통신과 문맥교환을 담당함. -프로세서 생성 및 소멸 -프로세서 간 통신 -CPU 스케쥴링 동기화 -지한된 자원에 대한 다중 프로세서의 효율적인 관리기법 제공 2. 메모리 관리 커널은 시스템 메모리에 대한..