전체 글 152

[운영체제] 5. 프로세스 관리

5. 프로세스 관리1. 프로세스(Process)프로세스는 메인 메모리에 할당되어 실행 중인 상태인 프로그램을 말한다. 프로그램은 일반적인 하드디스크(보조기억장치)에 저장되어 아무 일도 하지 않는 상태이다. 프로세스는 실행하면서 stack pointer, data, text, register등이 끊임 없이 변한다. 프로세스는 job, task등으로 불리기도 한다.1.2. 프로세스 상태New: 프로그램이 메인 메모리에 할당된다.Ready: 할당된 프로그램이 초기화와 같은 작업을 통해 실행되기 위한 모든 준비를 마친다.Running: CPU가 해당 프로세스를 실행한다.Waiting: 프로세스가 끝나지 않은 시점에서 I/O로 인해 CPU를 사용하지 않고 다른 작업을 한다. (해당 작업이 끝나면 다시 CPU에 의..

Etc 2024.06.03

[운영체제] 4. 운영체제 서비스

4. 운영체제 서비스운영체제의 주요 서비스는 하드웨어 자원을 각 사용자 어플리케이션에 적절히 분배해주는 것이다. 하드웨어 자원은 CPU, 메인 메모리, 하드디스크, 키보드, 마우스, 프린터 등이 존재한다.이러한 하드웨어 자원을 사용자 어플리케이션이 요구하거나 운영체제 내의 규칙에 의해 적절히 분배하여 컴퓨터의 성능을 최대한 효율적으로 사용해야 한다.이를 실현하기 위해 운영체제 내에서는 각 하드웨어를 관리하는 기능을 다음과 같이 나눈다.프로세스 관리주기억장치 관리파일 관리보조기억장치 관리입출력 장치 관리네트워킹보호기타1. 프로세스 관리(Process management)프로세스 관리는 운영체제 기능 중 가장 중요한 기능 중 하나이다. 프로세스와 프로그램은 기본적으로 구분된다. 프로세스는 실제 메인 메모리에..

Etc 2024.06.03

[운영체제] 3. 이중 모드와 보호

3. 이중모드와 보호현재 컴퓨터 환경은 여러 사람이 동시에 한 컴퓨터를 사용하는 경우가 많다. (서버 컴퓨터)하나의 컴퓨터 내에서 여러 프로그램을 수행하는 것이 일반적이다. 이 때 특정 컴퓨터나 프로그램에서 잘못된 동작으로 인해 다른 컴퓨터(프로그램)가 영향을 받는다면 이는 매우 위험하다.cf. [STOP], [HALT], [RESET]과 같은 명령어로 전체 컴퓨터의 동작이 멈추거나 꺼지는 경우가 있음 → 이러한 치명적인 명렁어들을 요청하는 것을 막기 위해 이중모드가 생김1. 이중 모드(Dual mode)모드를 아래와 같이 둘로 나눔사용자(User) 모드관리자(Supervisor) 모드 = 시스템(System)모드 = 모니터(Monitor)모드 = 특권(Privileged)모드특권 모드에서만 내릴 수 있..

Etc 2024.06.03

[운영체제] 2.운영체제 역사

2. 운영체제 역사1. 초기 컴퓨터운영체제는 컴퓨터가 발전하면서 같이 발전하게 되었다. 초기 컴퓨터는 크게 3가지로 구성되었다. 카드리더, 프로세서, 프린터이다. 카드 리더는 입력기이다. 입력은 종이에 입력할 코드에 맞는 구멍을 뚫어서 넣어주는 방식이었다. 프로세서는 현재와 비슷한 계산하는 역할이었고, 프린터는 입력에 대한 결과를 종이에 찍어서 보여주었다. 이 시기에는 운영체제도 존재하지 않았으므로, 오퍼레이터(operator)라는 컴퓨터를 사용하는 직업이 따로 있었고, 컴퓨터의 크기 또한 너무 커서 건물 전체를 사용해야할 정도 였다.2. Batch processing system (일괄 처리 시스템)위에서 초기 컴퓨터 상황을 살펴보았는데, 프로그램을 수행할 때마다 컴파일 → 링크 → 로딩 → 순서를 오..

Etc 2024.06.03

[운영체제]1. 운영체제란

1. 운영체제란?운영체제operating system는 사용자가 컴퓨터를 사용하기 위해 필요한 소프트웨어이다.우리가 일반적으로 컴퓨터를 사용하면서 실행한 모둔 프로그램들은 운영체제에서 관리하고 제어한다.대표적인 운영체제는 windows, Linux, Max OSX, iOS등이 있다.1. 운영체제 목적운영체제를 사용하는 가장 주된 목적은 컴퓨터의 하드웨어를 관리하는 것이다. 컴퓨터에는 수많은 하드웨어가 존재한다. CPU, 메모리, 디스크, 키보드, 마우스, 모니터, 네트워크 등이 있으며 이를 잘 관리 해주어야 컴퓨터를 효율적으로 사용할 수 있다. 운영체제의 성능이 좋을 수록 컴퓨터의 성능 역시 좋아진다고 할 수 있다.운영체제는 사용자에게 편의를 제공하는 목적도 가지고 있다. 운영체제가 없다면 위에서 말한 ..

Etc 2024.06.03

[code]BERT example code

import torch import transformers import BertTokenizerFast from torch.utils.data import Dataset, DataLoader class TokenDataset(Dataset): def __init__(self, dataframe, tokenoizer_pretrained): # sentence, label 컬럼으로 구성된 데이터프레임 전달 self.data = dataframe # huggingface 토크나이저 생성 self.tokenizer = BertTokenizerFast.from_pretrained(tokenizer_pretrained) def __len__(self): return len(self.data) def __getite..

[pytorch] GRU 입력 텐서와 출력 텐서의 shape 이해

GRU input_size : input에 대한 features의 수 hidden_size : hidden state의 features 수 num_layers : GRU을 스태킹 stacking 하는 수 batch_first: 입출력 텐서의 형태가 다음과 같음. 기본값은 False true로 설정 시 (batch, seq, feature) False로 설정 시 (seq, batch, feature) hidden_state에는 영향을 미치지 않음 Bidirectional: 양방향 GRU 구현 여부, False import torch import torch.nn as nn gru = nn.GRU(input_size=10. hidden_size=32, num_layer=1, batch_first=True, b..

Machine Learning 2023.07.19

what is Grid search?

GridSearch LSTM, DNN Code: https://www.kaggle.com/code/sujinies2/gridsearch-lstm-dnn/notebook 1. What is Grid search? 컨셉 : 모델에게 가장 적합한 하이퍼 파라미터를 찾기 grid search (격자 탐색)은 모델 하이퍼 파라미터에 넣을 수 있는 값들을 순차적으로 입력 한 뒤에 가장 높은 성능을 보이는 하이퍼 파라미터를 찾는 방법이다. 1) 하이퍼파라미터의 개념 살펴보기 hyper parameter( 초 매개변수) : 모델을 생성할 때, 사용자가 직접 설정하는 변수 랜덤 포레스트 모델을 우리가 만든다고 하면, 트리의 개수를 몇개 까지 할 것 인지, 트리의 깊이는 몇 까지 할 것인지 딥러닝 모델은 layer의 개수..

Machine Learning 2023.07.19

자연어처리 흐름 한눈에 보기

1. Seq2Seq Model - 인코더와 디코더를 가지는 RNN구조 - 인코더가 RNN을 통해 입력을 벡터로 만들고, 디코더가 RNN을 통해 벡터를 출력으로 만듦 - 고정된 크기의 context Vector를 사용함 (중요한 특성만 골라서 활용) - 필연적으로 정보의 손실이 발생하여 성능이 저하되고, 속도도 매우 느림 2. Attention - Seq to Seq model에서 발생하는 정보 손실 문제를 해결하기 위해 등장 - 인코더에서 문장 정보를 모은 다음 디코더로 보내느 것이 아니라, 단어 별로 전부 보내는 방식 - 인코더에서 나오는 Hidden state의 값을 모두 디코더에서 받아냄 - 디코더가 문장 중 어떤 단어에 특히 집중해서 출력을 만들지 고민할 수 있게 됨 - 1. 각 스텝의 hidde..

반응형