일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 프로그래머스
- git bash
- 나무자르기
- pip install mariadb
- elastic search
- KONLPY
- pyLDAvis
- 완주하지못한선수
- rest api
- Jpype
- 토픽모델링
- 파이썬
- pandas
- gensim
- tweepy
- js
- centos8
- MariaDB
- Pythonic
- dead lock
- ELASTIC
- ShallowCopy
- ChromeDriverManager
- jvm.py
- bulk post
- bs4
- 백준
- dataframe
- Java
- Python.h
- Today
- Total
목록Computer Science/OS (5)
부리부리부리

개요 OSI 모델(OSI 7 Layer)와 TCP/IP 모델은 네트워크에서 발생하는 통신 과정을 계층으로 나누어 놓은 모델이다. 통신 흐름을 한 눈에 볼 수 있고, 특정 계층에 이상이 생겼을 때, 시스템 전체를 점검하지 않고 해당 계층만 점검하면 되기 때문에 유지 보수에도 효과적이다. 현대 인터넷은 OSI 모델이 아니라 TCP/IP 모델을 따르고 있다. OSI 모델이 TCP/IP 모델보다 늦게 나오기도 했고, 시장 점유 싸움에서 졌기 때문이기도 하다. 하지만 OSI 모델은 계층을 세부적으로 설명하고 있다는 점에서 Reference 용도로 많이 쓰인다. TCP/IP 모델의 경우, 기존에는 4 Layer였지만 최근에는 5 Layer로 업데이트 되었다고 한다. OSI 7 Layer 응용 계층 (Applicat..

스케줄러(Scheduler) 한정적인 메모리를 여러 프로세스가 효율적으로 사용할 수 있도록 다음 실행 시간에 실행할 수 있는 프로세스 중에 하나를 선택하는 역할 스케쥴링: 여러 프로세스가 있고, 이 프로세스들이 자원(CPU 등)을 동시에 요구하는데 자원은 제한되어 있다. 그럴 때 제한된 자원들을 어떻게(순서를 할당하는 등) 나눠줄 것인지에 대한 정책을 말한다. Scheduling Queues 프로세스를 관리하는 큐 (1) Job Queue(batch queue) 시스템 안의 모든 프로세스의 집합 (2) Ready Queue ready 상태의 메인메모리 안에 상주하는 모든 프로세스의 집합 (3) Device Queue I/O 장치 사용을 대기하는 프로세스들의 집합 스케쥴러 분류 (1) 장기 스케줄러(Lon..

Deadlock이란? 교착 상태(膠着狀態) 또는 데드락은 두 개 이상의 작업이 서로 상대방의 작업이 끝나기 만을 기다리고 있기 때문에 결과적으로 아무것도 완료되지 못하는 상태이다. 예를 들어 하나의 사다리가 있고, 두 명의 사람이 각각 사다리의 위쪽과 아래쪽에 있다고 가정한다. 이때 아래에 있는 사람은 위로 올라 가려고 하고, 위에 있는 사람은 아래로 내려오려고 한다면, 두 사람은 서로 상대방이 사다리에서 비켜줄 때까지 하염없이 기다리고 있을 것이고 결과적으로 아무도 사다리를 내려오거나 올라가지 못하게 되듯이, 전산학에서 교착 상태란 다중 프로그래밍 환경에서 흔히 발생할 수 있는 문제이다. 이 문제를 해결하는 일반적인 방법은 아직 없는 상태이다. (위키백과) Deadlock의 발생 이유와 조건 Deadl..

쓰레드를 사용하는 이유 프로세스의 한계 과거에는 프로그램을 실행할 때 프로세스 하나만을 사용했었다고 한다. 기술이 발전됨에 따라 프로그램이 복잡해졌고, 프로세스 하나만으로 처리하기에는 무리가 있었다. 여러 개의 프로세스를 사용하자니, 각 프로세스는 독립적인 메모리 공간을 할당받기 때문에 메모리 중복 사용 문제가 발생했다. 이러한 문제를 해결하기 위해 쓰레드가 탄생하였다. 쓰레드란? 프로세스 내부에서 실행하는 작업의 단위이다. 하나의 프로세스는 일반적으로 하나의 쓰레드(Main Thread)를 가지고 있지만, 여러 개의 쓰레드가 존재할 수 있고 이를 멀티 쓰레드(Multi Thread)라고 한다. Thread 의 장단점 장점 Thread는 Stack을 제외한 하나의 프로세스 내의 자원(Code, Data,..

프로세스(Process)란 운영체제(OS)에서 실행중인 프로그램을 뜻한다. 프로그램 vs 프로세스 프로그램이 실행되면 프로세스 인스턴스가 생성되는데, 인스턴스가 생성되었다는 것은 메모리에 적재되었다는 뜻이다. 프로그램 어떠한 작업을 위해 실행할 수 있는 파일 보조 기억장치(하드디스크, SSD)에 존재하며 실행되기를 기다리는 명령어(코드)와 정적인 데이터 묶음 프로세스 프로그램을 실행하게 되면 CPU를 차지하면서 명령을 수행하는 주체 프로그램 한 개의 인스턴스가 프로세스이다. Process Control Block (PCB) PCB는 Process Control Block(프로세스 제어 블록)의 줄임말로, 프로세스에 관한 메타 데이터를 저장하는 자료구조이다. 프로세스들이 교체되고 실행되는 과정에서 다음 프..