
지난 시간 요약 CPU 안에 있는 registers 중 메모리 주소를 가리키고 있는 program counter register를 참고하여 CPU가 instruction을 실행한다. CPU는 일을 완료하고 다음 일을 하기 전에 들어온 interrupt가 있는지 확인한다. 인터럽트 벡터 - 인터럽트 번호와 처리해야 하는 주소의 쌍을 가지고 있다. 인터럽트 처리 루틴 - CPU가 실제로 해야 하는 커널 함수가 정의되어 있다. interrupt가 들어오면 CPU 제어권이 운영체제한테 자동으로 넘어간다. mode bit - 0일 때는 다 실행 가능, 1일 때는 한정된 instruction만 실행 I/O device 접근하는 모든 instruction은 mode bit이 0일 때만 가능하다. 사용자 프로그램이 운..

컴퓨터 통신(Network / Network Edge)의 역사 ☁️ Network Core - 확장성(Scalability) 바탕으로 발전함. | (last mile) 🖥️ Network Edge - 단말, 서버 등 컴퓨터의 가능성 - 카페, 쪽지, 채팅, MUD(Multi User Dungeon) 등 1) 기존 통신 수단 - 전화 a. Dial-up Modem : 전화선을 그대로 이용 전화선 - 음성 정보 - 20Hz~10,000Hz까지만 전송, (20,000Hz까지 보내려면 비용이 비싸다.) Binary Data -> 가청 주파수 1,200bps ~ 9,600bps (최대 14,400bps) 전화국 - HPF(High Pass Filter) 전화를 걸어서 통신 음성 정보 데이터 정보 Network C..

네트워크를 통해 수많은 정보를 교류할 수 있고, 부가가치를 창출할 수 있다. 클라우드 컴퓨팅 네트워크의 내부 구조 - 계층적 구조(Layered Architecture) 네트워크의 역사 통신의 역사 통신이 발달하여 네트워크를 만들었기 때문에 네트워크의 역사를 알기 위해서는 통신의 역사를 먼저 알아야 한다. 1) 우편 2) 봉화 : 최초의 전자기 신호(빛)를 이용한 통신 시스템 - 광 통신, 디지털 통신 - 나태해지면 정보 오류가 생길 수 있다. ↓ 자동화 3) 전보 - 글자 모스 부호 ( . - ) - S.O.S. : . . . - - - . . . - 1846년 Samuel Finley Breese Morse(예술가)가 개발. - CDMA도 헤디 라마르(여배우)가 개발하였다. - Data Network..

컴퓨터 시스템 구조 CPU : 매 clock cycle마다 메모리에서 instruction(기계어)을 읽어서 실행 Memory : CPU의 작업 공간 device controller : I/O device를 전담하는 작은 CPU local buffer : device controller의 작업 공간 register : 메모리보다 더 빠르면서 정보를 저장할 수 있는 공간 mode bit : CPU에서 실행되는 것이 운영체제인지 사용자 프로그램인지 구분 interrupt line : CPU는 매 instruction이 끝나고 나면 interrupt line을 확인하여 interrupt와 관련된 일을 먼저 처리 (I/O에서 온 신호) timer : 특정 프로그램이 CPU를 독점하는 것을 막음 (무한 루프), ..

운영체제란? - 협의의 운영체제(커널) : 운영체제의 핵심 부분으로 메모리에 상주하는 부분 - 광의의 운영체제 : 커널뿐 아니라 각종 주변 시스템 유틸리티를 포함한 개념 운영체제의 목적 - 컴퓨터 시스템의 자원을 효율적으로 관리 ✔️ 프로세서(CPU), 기억장치(메모리), 입출력 장치 등의 효율적 관리 (하드웨어 자원) - 사용자 간의 형평성 있는 자원 분배, 주어진 자원으로 최대한의 성능을 내도록 ✔️ 사용자 및 운영체제 자신의 보호 ✔️ 프로세스, 파일, 메시지 등을 관리 (소프트웨어 자원) - 컴퓨터 시스템을 편리하게 사용할 수 있는 환경을 제공 ✔️ 동시 사용자/프로그램들이 각각 독자적 컴퓨터에서 수행되는 것 같은 환상을 제공 ✔️ 하드웨어를 직접 다루는 복잡한 부분을 운영체제가 대행 운영체제의 ..

운영체제는 컴퓨터 하드웨어 바로 위에 설치되는 소프트웨어 계층으로서 모든 컴퓨터 시스템의 필수적인 부분이다. 강의 목표 1️⃣ 운영체제의 개념과 역할 2️⃣ 운영체제를 구성하는 각 요소 및 그 알고리즘 앞으로 학습할 keywords 운영체제 개요, 컴퓨터시스템의 구조, 프로세스 관리, CPU 스케줄링, 병행 제어, 데드락, 메모리 관리, 가상 메모리, 파일 시스템, 입출력 시스템, 디스크 관리 운영체제(Operating System, OS)란? 컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층 운영체제의 목표 - 컴퓨터 시스템을 편리하게 사용할 수 있는 환경을 제공 - 컴퓨터 시스템의 자원(프로세서, 기억장치, 입출력 장치 등)을 효율적으로 관리 +..

ASCII(American Standard Code for Information Interchange), 미국정보교환표준부호는 영문 알파벳을 사용하는 대표적인 문자 인코딩이다. ※문자 인코딩은 사용자가 입력한 문자나 기호들을 컴퓨터가 이용할 수 있는 신호로 만드는 것을 말한다. ENTER = 13 ESC = 27 SPACE = 32 숫자 0 = 48 A = 65 a = 97 파이썬에서 아스키코드 활용할 때 1. ord(문자) : ASCII코드 반환 # Character to an Integer print(ord('A')) # 65 print(ord('a')) # 97 print(ord('0')) # 48 ordinal이라는 단어에서 따온 ord *ordinal : 순서를 나타내는 2. chr(숫자) : ..

자료형은 데이터를 표현하는 기준이다. 때문에 변수도 상수도 자료형에 근거한다. int num; => 정수 저장, 크기는 4바이트, 변수의 이름은 num 자료형(data type)은 '데이터를 표현하는 방법'을 뜻한다. 기본 자료형의 종류와 데이터의 표현범위 "short와 int는 최소 2바이트이되, int는 short와 크기가 같거나 더 커야 한다." - C의 표준을 정하는 ANSI 즉, 자료형 별 크기를 정확히 제한하고 있지 않다. 따라서 자료형 별 크기는 컴파일러마다 차이를 보인다. 그렇다면 많은 수의 자료형을 제공하는 이유는? 1. 정수와 실수를 표현하는 방식이 다르므로, 최소 둘 이상의 자료형이 필요하기 때문이다. 2. 메모리 공간의 적절한 사용을 위해서 다양한 크기의 자료형이 필요하기 때문이다...

비트(Bit)는 컴퓨터가 표현하는 데이터의 최소 단위로서 2진수 값 하나를 저장할 수 있는 메모리의 크기를 뜻하는 단위이다. 비트를 여덟 개를 묶으면 바이트(Byte)라는 단위가 구성된다. int num1 = 10; // 특별한 선언이 없으면 10진수의 표현 int num2 = 0xA; // 0x로 시작하면 16진수로 인식 int num3 = 012; // 0으로 시작하면 8진수로 인식 /* 표현의 방식이 다르다고 해서 저장되는 값이 달라지는 것은 아니다. 위의 세 문장은 변수에 초기화되는 값이 모두 동일하다. 컴퓨터 내부적으로는 2진수의 형태로 값을 저장한다. */ 서식문자 %d는 10진수 정수형태의 출력을 의미한다. 정수의 표현방식 정수의 가장 왼쪽에 존재하는 비트는 '부호비트'이다. - 양수이면 0..

그리디 알고리즘과 다이나믹 프로그래밍 알고리즘이 최단 경로 알고리즘에 그대로 적용된다는 특징이 있다. 다익스트라(Dijkstra, 데이크스트라) 최단 경로 알고리즘 그래프에서 여러 개의 노드가 있을 때, 특정한 노드에서 출발하여 다른 노드로 가는 각각의 최단 경로를 구해주는 알고리즘이다. 이 알고리즘은 '음의 간선'이 없을 때 정상적으로 동작한다. 다익스트라 최단 경로 알고리즘은 매번 '가장 비용이 적은 노드'를 선택해서 임의의 과정을 반복하기 때문에 그리디 알고리즘으로 분류된다. 알고리즘 원리 1. 출발 노드 설정 2. 최단 거리 테이블 초기화 3. 방문하지 않은 노드 중에서 최단 거리가 가장 짧은 노드를 선택 4. 해당 노드를 거쳐 다른 노드로 가는 비용을 계산하여 최단 거리 테이블 갱신 (--> 그..
- Total
- Today
- Yesterday
- unsigned
- 자료구조
- 파이썬 나머지
- 비트연산자
- 이것이코딩테스트다
- 동적 계획법
- 파이썬 몫
- 비트
- 기본 자료형
- 프로그래머스
- dijkstra algorithm
- C언어
- leetcode
- 해시
- 다익스트라 알고리즘
- 에러
- ascii
- 파이썬
- 코딩테스트
- sizeof
- Python
- 내장 함수
- scanf
- 열혈 자료구조
- dp
- 이코테
- dynamic programming
- C
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |