본문 바로가기

운영체제3

[OS] 스레드(Feat. Java Thread) -4 스레드(Thread) Light Weight Process 라고도 불리며, 프로세서(cpu) 활용의 기본 단위 이다. 프로세스에게 할당되는 메인 메모리 영역(리소스 영역 + 제어 영역) 중 제어 영역만 분리되어 있다. 따라서 스택영역, 레지스터 정보 , 프로그램 카운터 제어정보 등을 제외한 나머지 리소스 영역(코드,데이터,힙)은 공유한다. 프로세스와 스레드 하나의 프로세스는 하나의 커널 수준 메인 스레드로 이루어져 있다. 이 메인 스레드는 cpu와 연결된다. 스레드의 장점 스레드는 프로세서 활용의 기본 단위로써, 멀티 프로세서를 이용할 수 있게 되고, 병렬 수행이 가능해 짐으로써, 응답성이 증가하고 효율성이 증가한다. 또한, 멀티 프로세싱에 비해 컨텍스트 스위칭 효율이 높다. 스레드 구현 방법 스레드는 .. 2022. 5. 31.
[OS] 운영체제(feat. 커널) - 1 운영체제는 잘 만들어진 소프트웨어로써 개발의 교보재라고 생각한다. 알고리즘에 기반이자 문제 해결 전략을 배울수 있고, 작은 OS라고 할 수 있는 애플리케이션이 더 안정적이고 효율적으로 동작하도록 관리할 수 있을것이다. 운영체제란? 운영체제(Operating System)는 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 사용자가 컴퓨터를 편리하고, 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임이다. 운영체제는 컴퓨터 사용자와 컴퓨터 하드웨어 사이에서 동작하는 시스템 소프트웨어의 일종으로, 다른 응용프로그램이 유용한 작업을 할 수 있도록 환경을 제공한다. 운영체제의 목적 사용자에게 컴퓨터의 프로그램을 쉽고 효율적으로 실행할 수 있는 환경을 제공한다. 컴퓨터 시스템 하드웨어(CPU, I/O.. 2022. 5. 31.
[OS] 메인 메모리 구조 -3 멀티 프로세싱과 멀티 스레딩을 공부하면서, 공유자원과 컨텍스트 스위칭 등 메모리와 관련된 내용이 많아 한번 정리하고자 한다. 이전 편에서 컴퓨터 시스템 구조 중 메인 메모리 부분이 있었다. 프로세스가 실행되기 위해선 리소스가 보조 메모리로 부터 메인 메모리에 할당되어야 하는데, 이는 CPU가 메인 메모리에만 직접 접근이 가능하기 때문이다. 메인 메모리는 아래와 같이 두가지로 구분할 수 있다. 메인 메모리 구분 메인 메모리 유저 영역, 커널 영역 2가지로 분리된다. 유저 영역: 일반 프로그램을 위한 메모리 영역 커널 영역: 운영체제를 위한 메모리 영역, 운영체제의 핵심인 커널이 위치하는 메모리 운영체제는 부팅과 동시에 메인 메모리에 할당되어 상주하는 최초의 프로그램이라고 했었다. 커널 영역은 이 운영체제가.. 2022. 5. 24.