# OS

618개의 포스트
post-thumbnail

Implicit Threading (암묵적 스레딩)

Implicit Threading은 스레딩의 생성과 관리 책임을 개발자가 하는것이 아닌 컴파일러와 런타임 라이브러리에게 넘겨주는것이다. 개발자는 병렬로 실행할 수 있는 작업만 식별하여 작업을 함수로 작성한다. 이후 런타임 라이브러리를 통해 가용한 스레드에 매핑된다.결국

약 1시간 전
·
0개의 댓글
post-thumbnail

Linux - (11) : RPM & YUM

우분투, 라즈비안 등으로 입문한 리눅스 또는 pip 같은 파이썬 모듈 설치 과정에서 나같은 초보 개발자들은 다양한 패키지 매니저를 사용해왔다. 하지만 막상 패키지 매니저가 무엇이고 어떻게 동작하게 되었는지는 알지 못했다. 따라서 해당 내용을 정리하고자 하며 이번엔 RP

약 5시간 전
·
0개의 댓글

Linux - (10) : Shell

1) 셸의 개념정의사용자가 커널의 서비스 기능을 사용할 수 있도록 하는 사용자 인터페이스CLI 와 GUI 로 구성특징사용자로부터 명령어를 입력받고, 해석해서 처리하는 대화형 인터페이스셸을 통해서 파일, 프로세스, 배치, 성능 모니터링, 환경설정 등 가능일반 응용프로그램

약 19시간 전
·
0개의 댓글

Multithreading Models (멀티 스레딩 모델)

사용자 스레드 (User threads) 사용자 수준에서 사용하며 커널 위에서 동작하며 커널의 지원 없이 관리한다. 커널 스레드 (Kernel threads) 커널 영역에서 동작하며 운영체제에 의해 직접 지원되고 관리 된다. 사용자와 커널 스레드 멀티 스레딩 모델

어제
·
0개의 댓글
post-thumbnail

병렬 실행 유형

데이터를 부분화 하여 동일한 연산을 수행하는 스레드나 프로세스를 병렬적으로 실행하는 방법각 스레드나 프로세스가 서로 다른 연산을 수행하고 병렬적으로 실행하는 방법데이터는 같을 수도 다를 수도 있다. 예를 들어 하나의 데이터로 여러 통계 데이터를 출력하는 프로그램이라면

어제
·
0개의 댓글

병렬 프로그래밍시 생각할 점

프로그램을 분석하여 독립된 태스크로 나눌 수 있는 영역을 찾아야 한다. 각 태스크는 각자 다른 코어에서 병렬적으로 실행 가능하여야 한다.병렬로 실행될 수 있는 태스크를 찾아내는것도 중요하지만 찾아낸 태스크를 균등하게 분배하는것도 중요하다. 하나의 프로세서에 80%의 처

어제
·
0개의 댓글

멀티 스레드 장점

각 장점이 뭔지 외우는것이 아니라 멀티 스레드를 사용했을때 어떤 이점을 얻을 수 있는 지, 어떤식으로 구현할 수 있는지를 생각해보자.예를 들어 단일 스레드 환경에서 요청을 하게 되면 해당 요청이 끝날때까지 나는 다른 요청을 할 수 없다.멀티 스레드 환경에서 요청을 하

어제
·
0개의 댓글
post-thumbnail

스레드

프로세스보다 더 작은 작업 단위(CPU에 할당 되는 단위). 프로세스 내 스레드가 작업 단위가 된다.스레드는 프로세스의 메모리 구조를 가진다. text, data영역, 열린 file이나 신호와 같은 운영체제 자원은 다른 스레드들과 공유를 하고 나머지 레지스터, 스택,

어제
·
0개의 댓글

리눅스 커널 전처리 빌드 하기

리눅스 커널을 빌드할때 매크로로 작성된 부분을 전처리 하여 빌드 할 수 있다.MakeFile에서 421번줄로 이동한다. vim 에디터에서 줄이동은 줄번호를 입력후 shift+G를 누르면 된다. MakeFile은 당연히 빌드할 커널의 폴더에 있는 MakeFile이다.정상

어제
·
0개의 댓글
post-thumbnail

[OSTEP] 세그멘테이션

이전 포스트에선 base와 bound를 통한 주소 변환법을 알아보았습니다.하지만, 이 방법은 스택과 힙 사이의 공간을 낭비한다는 단점이 있어 우리는 새로운 방식을 알아보겠습니다.세그멘테이션은 MMU에 하나의 base와 bind가 존재하는 것이 아닌, 세그멘트마다 bas

1일 전
·
0개의 댓글

프로세스와 스레드

프로세스 - 운영체제로부터 자원을 할당받은 작업의 단위.스레드 - 프로세스가 할당받은 자원을 이용하는 실행 흐름의 단위.프로그램은 저장 장치에 저장되어 있지만 메모리에는 올라가 있지 않은 상태.프로세스는 프로그램을 실행해서 메모리에 올린 상태.스레드는 프로세스 내에서

2일 전
·
0개의 댓글

커널

Computer Science에서 커널(kernel)은 컴퓨터의 OS의 핵심이 되는 컴퓨터 프로그램의 하나로, 시스템의 모든것을 완전히 통제한다. OS의 다른 부분 및 응용 프로그램 수행에 필요한 여러 가지 서비스를 제공한다.img커널은 운영체제의 핵심 부분, 커널의

2일 전
·
0개의 댓글

멀티코어 프로세서

멀티 코어 프로세서 CPU는 두 개 이상의 독립 코어를 단일 집적회로로 이루어진 하나의 패키지로 통합한 것이다. dual-core, triple-core, hexa-core, octa-core, deca-core, dodeca-core (코어의 수 별)각 코어는 슈퍼스

2일 전
·
0개의 댓글
post-thumbnail

Operating System

KOCW 고려대 최린교수님의 운영체제 강의 듣기 시작합니다~! 👏👏 http://www.kocw.net/home/search/kemView.do?kemId=1349238

3일 전
·
0개의 댓글

리눅스 커널 빌드 및 설치

리눅스 커널 다운로드 https://mirrors.edge.kernel.org/pub/linux/kernel wget (커널 파일 주소) 링크에서 원하는 리눅스 커널 버전의 다운로드 경로를 찾은 후 wget 명령어를 통해 다운로드한다. 다운로드 커널 디렉토리 변경

3일 전
·
0개의 댓글

리눅스 커널 변경

GRUB_TIMEOUT_STYLE, GRUB_TIMEOUT 명령어 작성 후 위 글이 적힌 라인을 주석걸어준다. 이후 아래와 같은 명령어를 입력해 적용 시켜준다. 위 동작을 모두 수행하고 재부팅하게 되면 부팅시 Advanced 모드로 접근할 수 있는 화면이 나타나게 된다

3일 전
·
0개의 댓글

[OSTEP] 주소 변환의 원리

CPU 가상화에서는 시스템 콜이 호출되거나, 타이머 인터럽트가 발생하는 등의 특정 타이밍에 운영체제가 개입하여 문제가 발생하지 않도록 하였다. → 약간의 하드웨어 지원을 받아 효율적을 CPU를 제어하는 가상화 방법을 사용하였다.메모리 가상화에서도 비슷한 전략을 추구할

3일 전
·
0개의 댓글

[OS/운영체제] Race Condition - 정의, 발생 이유, 해결법

둘 이상의 입력 또는 조작의 타이밍이나 순서 등이 결과값에 영향을 줄 수 있는 상태두 개 이상의 프로세스가 <span style="color:문제점 : 커널모드에서 데이터를 로드하여 작업을 수행하다가 인터럽트가 발생하여 같은 데이터를 조작하는 경우 ⇒ 사용자 프로

4일 전
·
0개의 댓글

[OS/운영체제] Deadlock(데드락) - 정의, 발생 조건, 해결 방법

서로 원하는 자원을 얻기 위해 무한정한 기다림 상태에 빠지는 것멀티 프로그래밍 환경에서 한정된 자원을 사용하려고 서로 경쟁하는 상황에서 발생데드락 == 교착 상태자원은 한 번에 한 프로세스만 사용이 가능최소한 하나의 자원을 점유하고 있으면서 다른 프로세스에 할당되어 사

4일 전
·
0개의 댓글

[OS/운영체제] CPU 스케줄링과 프로세스 상태, 상태 전이

CPU를 잘 사용하기 위해 프로세스를 잘 배정하는 것처리율과 CPU 이용률 ↑오버헤드, 응답시간, 반환시간, 대기시간, 기아 현상 ↓New: 프로세스 생성 중프로세스를 생성하고 있는 단계로, 커널 공간에 PCB가 만들어진 상태이다.Ready: 프로세스가 CPU를 기다리

4일 전
·
0개의 댓글