본문 바로가기

728x90
반응형
SMALL

컴퓨터구조, 운영체제

(15)
가상 메모리 가상 메모리란? 가상 메모리(Virtual Memory)는 실제 물리적인 메모리보다 큰 용량을 가지는 논리적인 메모리 공간입니다. 프로세스가 실행될 때 운영체제는 해당 프로세스에게 필요한 메모리 공간을 할당합니다. 이 때 물리적인 메모리 공간이 부족하면 가상 메모리를 사용하여 프로세스가 필요로 하는 메모리 공간을 보충합니다. 가상 메모리는 하드디스크의 일부 공간을 메모리처럼 사용하므로 실제 메모리보다 저렴하게 구현할 수 있습니다. 또한 가상 메모리는 여러 프로세스 간에 공유될 수 있습니다. 각 프로세스는 자신만의 가상 주소 공간을 갖고, 이 가상 주소를 실제 물리적인 주소로 매핑하여 사용합니다. 가상 메모리는 물리적인 메모리보다 큰 용량을 가질 수 있지만, 실제로는 하드디스크에 접근해야 하므로 속도가 느..
교착 상태 교착상태란? 교착상태(deadlock)란, 둘 이상의 프로세스나 스레드가 서로 상대방이 가지고 있는 자원을 기다리면서 무한정 대기 상태에 빠지는 상황을 말합니다. 그리고 이 교착상태를 쉽게 설명하기 위해 ' 식사하는 철학자 문제'를 예로 들 수 있습니다. 식사하는 철학자 문제 식사하는 철학자 문제는 병렬 처리 분야에서 자주 언급되는 문제 중 하나이며, 이 문제는 다섯 명의 철학자가 원탁에 둘러 앉아 젓가락을 사용하여 식사를 하는 상황에서 발생합니다. 각 철학자의 왼쪽과 오른쪽에는 젓가락이 하나씩 놓여 있으며, 철학자는 젓가락 두 개를 동시에 사용하여 식사를 합니다. 그러나, 모든 철학자가 동시에 식사를 하려고 젓가락을 집으면, 젓가락이 충돌하여 둘 다 사용할 수 없는 상황이 발생합니다. 이 문제를 해결하..
파일 시스템 파일 시스템이란? 파일 시스템(File System)은 컴퓨터에서 파일들을 보관하고 관리하는 체계를 말합니다. 운영체제는 파일 시스템을 통해 하드 디스크나 다른 저장장치에 파일을 쓰고, 읽을 수 있도록 합니다. 파일 시스템은 파일의 생성, 복사, 삭제, 이동 등의 작업을 가능하게 하며, 이를 통해 사용자는 저장된 파일에 쉽게 접근할 수 있습니다. 대표적인 파일 시스템으로는 NTFS, FAT32, ext4 등이 있으며, 운영체제나 사용하는 저장장치에 따라 다양한 파일 시스템을 선택하여 사용할 수 있습니다. 파일과 디렉터리 파일 컴퓨터에서 파일(File)은 컴퓨터에 저장된 정보를 일종의 단위로 구분하여 저장하고 관리하는 논리적인 개념입니다. 파일은 HDD, USB 드라이브, SSD 등의 저장 장치에 저장되며..
CPU 스케쥴링 CPU 스케쥴링 CPU스케쥴링은 운영체제가 프로세스가 공정하고 합리적으로 CPU 자원을 배분하는 것 입니다. 입출력 집중 프로세스 입출력 집중 프로세스는 대부분의 실행 시간을 입출력 작업에 사용하는 프로세스를 의미합니다. 이러한 프로세스는 파일을 읽거나 쓰는 작업, 네트워크 연결을 설정하는 작업, 디스크에서 데이터를 검색하는 작업 등 입출력 작업이 많은 작업을 수행합니다. 이러한 프로세스는 입출력이 완료될 때까지 대기해야 하는 경우가 많기 때문에 CPU를 많이 사용하지 않습니다. CPU 집중 프로세스 CPU 집중 프로세스는 대부분의 실행 시간을 CPU 작업에 사용하는 프로세스를 의미합니다. 이러한 프로세스는 계산이 많은 작업을 수행하거나, 정렬, 검색, 해시 테이블 작업 등의 연산이 많은 작업을 수행합니..
프로세스 동기화 동기화란? 동기화를 쉽게 말하면 하나의 기준에 두 가지 이상의 것들이 서로 맞춰지거나 일치되는 상태를 말합니다. 따라서 시계를 맞추거나 노래를 부를 때, 음을 맞추고 리듬을 맞추는 것 또한 동기화의 일종 입니다. 그렇다면 컴퓨터 분야에서 동기화란? 여러 개의 스레드나 프로세스가 동시에 공유 자원에 접근하는 경우, 문제가 발생하지 않도록 하는 작업입니다. 동기화를 통해 공유 자원에 대한 접근을 제어하면서, 경쟁 상태(Race Condition)와 데드락(Deadlock) 같은 문제를 예방할 수 있습니다. 대표적인 동기화 기법으로는 뮤텍스(Mutex), 세마포어(Semaphore), 모니터(Monitor)가 있습니다. 크게 프로세스 동기화는 실행 순서 제어를 위한 동기화, 상호배제를 위한 동기화로 나뉩니다...
프로세스와 스레드 프로세스 개요 프로그램이 메모리에 적재되고 실행되는 순간, 프로그램은 프로세스가 됩니다. Mac용 활성 상태 보기 앱을 통해서 확인이 가능하고 맥 또한 유닉스 기반으로 한 운영체제이기 때문에, 터미널에서 ps -e명령으를 통해서도 가능합니다 :) 프로세스에 따라 사용자가 보는 앞에서 실행되면 포어그라운드 프로세스, 그렇지 않으면 백그라운드 프로세스라 부르며, 사용자와 상호작용하지 않고 정해진 일만 수행하는 백그라운드 프로세스를 데몬이라 합니다. 프로세스 제어블록 프로세스 제어 블록(Process Control Block, PCB)은 운영체제가 각 프로세스를 관리하기 위해 유지하는 정보의 모음입니다. PCB는 각 프로세스에 대한 정보를 저장하고, 프로세스 스케줄링, 메모리 관리, 입출력 등의 작업을 수행할..
운영체제 시작하기 운영체제란? 운영체제(Operating System, OS)는 컴퓨터 하드웨어와 응용 프로그램 간의 인터페이스 역할을 하며, 시스템 자원(프로세서, 메모리, 저장장치, 입출력장치 등)을 효율적으로 관리하고, 응용 프로그램의 실행을 지원하는 소프트웨어 시스템입니다. 컴퓨터가 부팅될 때 메모리 내 커널 영역에 따로 적재되어 실행되며, 커널 영역을 제한 나머지 영역을 사용자 영역이라고 합니다. 운영체제를 알아야하는 이유? 컴퓨터 시스템 이해 컴퓨터 시스템을 이해하려면 운영체제의 기능과 동작 방식을 이해해야 합니다. 운영체제는 컴퓨터 시스템의 핵심적인 요소 중 하나이기 때문에, 운영체제를 이해하지 않으면 컴퓨터 시스템의 동작 원리를 제대로 이해할 수 없습니다. 프로그래밍 운영체제는 응용 프로그램과 하드웨어 간의..
입출력 장치 장치 컨트롤러 장치컨트롤러는 컴퓨터 시스템에서 하드웨어 장치를 제어하는 데 사용되는 하드웨어 구성 요소입니다. 방대한 입출력 장치의 종류들로 인해 CPU나 메모리 보다 다루기 어려우며, 일반적으로 CPU나 메모리에 비해 전송률이 낮습니다. 그리고 디바이스 컨트롤러, 하드웨어 컨트롤러, 인터페이스 카드, 입출력 제어기, 입출력 모듈 등으로 다양하게 불리고 있습니다. 장치 컨트롤러는 특정 유형의 장치와 상호 작용하고, 데이터 전송을 처리하며, 데이터를 메모리에 읽고 쓰는 등의 작업을 수행합니다. 대표적인 역할로 1. CPU와 입출력장치 간의 통제 2. 오류 검출 3. 데이터 버퍼링 (*버퍼링: 전송률이높은 장치와 낮은 장치 사이에 주고 받는 데이터를 버퍼라는 임시 저장 공간에 저장하여 전송률을 비슷하게 맞..

728x90
반응형
LIST