전체 글

전체 글

    OS - Structure

    OS - Structure

    컴퓨터 시스템 구조 (Computer System Structure) 하드웨어 (Hardware) : 기본 컴퓨팅 리소스 제공 ▶ CPU, 메모리, I/O 디바이스 운영체제 (Operating System) ▶ 애플리케이션, 사용자가 하드웨어를 더 잘 쓰게 제어하고 조정하는 프로그램. 애플리케이션 프로그램 (Application Programs) : 사용자의 컴퓨팅 문제를 해결하기 위해 시스템 리소스를 어떻게 사용할지 정의된 프로그램. ▶ 워드 프로세서, 컴파일러, 웹 브라우저, 게임 등 사용자 (Users) : 사람, 머신, 다른 컴퓨터 등 운영체제 (Operating Systems) 보편적으로 인정되는 정의는 없으나 OS는 유저가 컴퓨터를 편하게 사용할 수 있도록 하드웨어 자원 배분을 하며하고 사용자..

    백준 - 절대값힙(11286)

    링크 : https://www.acmicpc.net/status?user_id=sniz&problem_id=11286&from_mine=1 문제 설명 절댓값 힙은 다음과 같은 연산을 지원하는 자료구조이다. 배열에 정수 x (x ≠ 0)를 넣는다. 배열에서 절댓값이 가장 작은 값을 출력하고, 그 값을 배열에서 제거한다. 절댓값이 가장 작은 값이 여러개일 때는, 가장 작은 수를 출력하고, 그 값을 배열에서 제거한다. 프로그램은 처음에 비어있는 배열에서 시작하게 된다. 제한조건 총 N개의 연산이 이루어진다. (1 N; priority_queue pq; //(0보다 작으면 음수)> 음수면 - 붙여서 내보내줌 while(N > 0) { N--; int tmp; cin >> tmp; if(tmp == 0) { if..

    Transport Layer - 요약

    Transport Layer - 요약

    * 역할 : Source -> Destination 까지 전송. 메시지를 일정한 크기로 자르고 관리 ○ UDP (User Datagram Protocol) 1. 특징 Unreliable data transfer : 전송이 loss 될 수 있다. 신뢰성 없는 전달 No coneection establishment Simple connection state -> small header size. 매우 단순한 구조 no congestion control error check 2. 왜, 어디에 쓰일까? 왜 쓸까? : UDP는 TCP와 달리 보장된 전달도 아니고, loss가 될 수도 있으며 간단히 생각하면 TCP에서 신뢰성 같은 기능을 모두 없는 프로토콜이지만 계속 꾸준히 쓰이는 이유는 cost가 싸기 때문이다...

    Application Layer - 시험 요약 정리

    Application Layer - 시험 요약 정리

    * 주 목표 : HTTP 이해, DNS 이해 ○ HTTP (HyperText Transfer Protocol) 정말 간단하게 생각하면 Client의 Http request, 그에 대한 Server의 HTTP response.가 끝인 simple한 프로토콜. Protocol = 통신 규약. 약속 * 특징 1. HTTP는 TCP 사용 : Socket을 만들어서 Client - Server. port는 80 사용. 2. HTTP is stateless : state가 없음. server는 just request. protocol이 state를 관리하는건 complex하다. ○ HTTP 통신 2 Types 1. Non - Persistent HTTP : 1request - 1response. TCP 연결 한 번..

    CPU스케줄링(5장) - 시험 요약

    CPU스케줄링(5장) - 시험 요약

    Concept 모든 작업이 CPU를 꽉 사용하는 상태는 아니다. CPU burst, I/O burst 등... CPU가 계산하는 시간, Input/Outpt 대기 등 시간, 메모리에 data 가져오는 시간 등은 모두 속도, 걸리는 시간이 다르다. 그리고 대부분 CPU 사용하는 시간이 짧다. -> CPU가 쉬는 시간에 다른 일을 시키자. CPU Scheduler ○ CPU scheduler는 ready queue(readu 상태인 프로세스 모여있는 공간)에서 골라서 cpu에 배정한다. ○ CPU 스케줄링은 다음과 같은 상황에 일어난다. 1. running -> waiting state 2. running -> ready state 3. waiting -> ready state 4. Terminates ○ ..

    스레드 (4장)-시험 요약

    스레드 (4장)-시험 요약

    스레드 ○ Single and Multithreaded Processes 스레드는 메인 스레드의 스택을 제외한 메모리를 공유하고, 각 서브 스레드는 독립적인 스택 공간을 가진다. ○ Concurrency(병행) VS Parallelism(병렬) Concurrnecy(병행) : supports more than one task making progess. 멀티 태스킹. 사람이 한명 Parallelism(병렬) : system can perform more than one task simultaneously. 실제로 따로 실행. 사람이 여러명 ○ Parallelism 종류 1. Data Parallelism : 각 코어가 데이터를 나눠서 같은 일을 한다. 2. Task Parallelism : 같은 데이터를..

    프로세스(3장)시험 요약

    프로세스(3장)시험 요약

    ○ 프로세스 - 실행중인 프로그램. Program = passive, Process = active ○메모리 영역 Stack : 일시적 데이터(함수 parameter, return addresses, 지역 변수) 영역. [코드를 토대로 컴파일 중 크기가 확정됨] Heap : run time 중 동적 할당된 변수 영역 BSS : 초기화 되지 않은 global, static 변수 영역 Data : 초기화 된 global, static 변수 Text (= Code) : 프로그램에 코드가 들어가는 영역 ○ Diagram of Process State, Process Life Cycle New : process created Running : Instructions are being executed (CPU 사용..

    BOJ - 정사각형의 개수(1540)

    BOJ - 정사각형의 개수(1540)

    링크 : https://www.acmicpc.net/problem/1540 문제 설명 세준이는 2차원 평면에 N개의 점을 찍었다. 그리고 나서 정사각형의 개수를 세려고 한다. 정사각형의 개수란, 세준이가 찍은 서로 다른 N개의 점을 꼭짓점으로 하며, 모든 변은 축에 평행한 서로 다른 정사각형을 모두 센 것이다. 세준이는 정사각형의 개수를 최대로 하려고 한다. N이 주어졌을 때, 정사각형의 개수의 최댓값을 구하는 프로그램을 작성하시오. 제한조건 첫째 줄에 N이 주어진다. 이 값은 0보다 크거나 같고, 1000000보다 작거나 같은 값이다. 코드 #include #include using namespace std; int main(){ // ios::sync_with_stdio(false); // cin.t..