본문 바로가기

CS/운영체제

(4)
메모리 가상 메모리프로세스는 프로그램을 실행하기 위해 메모리를 사용한다.그러나 사용되는 프로그램이 많고 모든 프로세스가 메모리에서 동작할 수 없기 때문에 효율적으로 사용하기 위해 프로세스는 가상 메모리를 사용한다.가상 메모리는 32bit 기준 프로세스 당 4GB가 할당된다.가상 메모리는 아래와 같은 구조로 구성되어 있다. 리눅스에서는 사진 외에도 커널 영역도 할당되어 있지만 중요한 것은 TEXT 영역과 스택 영역, 힙 영역이다. TEXT 영역 : 프로그램의 코드(명령어)가 저장된 영역PC(Procram Counter): CPU 내부에 있는 레지스터로 다음에 실행될 명령어의 주소를 가지고 있다. 이때 명령어의 주소가 TEXT 영역의 주소를 가리킨다.명령어가 실행될 때 값이 증가한다.STACK 영역 : 프로그램이 ..
리눅스 파일시스템 가상 파일 시스템(VFS)가상 파일 시스템(VFS)은 다양한 종류의 파일 시스템을 마치 하나의 파일 시스템처럼 접근할 수 있도록 사용자에게 편의성을 제공하는 시스템이다. 대부분 운영체제는 자신의 특정 파일 시스템만을 지원한다.따라서 그 운영체제에서 지원하는 파일 시스템에서 생성된 파일만을 접근할 수 있다.그러나 리눅스에서는 가상 파일 시스템 개념을 도입하여 기본 파일 시스템(Ext2,3,4)는 물론 다른 운영체제의 파일 시스템(FAT32, NTFS, NFS 등)에서 생성된 파일도 접근할 수 있다. VFS는 새로운 파일 시스템이 마운트 될 때, 그 파일 시스템의 타입을 인식하여 그 파일 시스템에 해당하는 함수를 호출한다.마운트(mount): 저장 장치에 접근할 수 있는 경로를 디렉터리 구조에 편입시키는 작..
스레드 스레드란?스레드는 프로세스의 실행 단위 이다.프로세스가 실행 중인 프로그램이라면, 스레드는 프로그램 내에서 작업을 수행하는 작업자라고 표현할 수 있다.프로세스는 최소 1개 이상의 스레드를 가지며, 스레드는 OS에서 프로세스에게 할당 한 가상 메모리를 공유한다.구성 요소스레드 IDPC(Program Counter)스레드는 CPU에 의해 점유당하다가 스케줄러에 의해 다시 선점 당함때문에 스레드는 어디까지 작업을 수행했는지 알아야 함이를 PC에 저장하며, 스레드는 개별적인 PC를 갖는다.레지스터 집합스택프로세스의 실행 단위가 하나인 경우에는 단일 스레드 라 하며, 여러 개의 경우 다중 스레드라고 한다.멀티 스레딩멀티 스레딩은 하나의 프로세스 내부에서 동시에 여러가지 일을 처리할 수 있도록 한다.스레드들은 프로..
운영체제와 프로세스 운영체제운영체제의 종류에는 대표적으로 Windows, Linux, MaxOS 가 있습니다.그 외에도 많이 있지만 자주 사용되는 OS는 위와 같습니다. OS 역할우선 컴퓨터 시스템은 하드웨어와 소프트웨어로 구성되어 있습니다.소프트웨어는 하드웨어에 의해 실행되는데 하드웨어에는 CPU와 메모리, 다양한 입출력 장치로 구성되어 있습니다. 운영체제가 없어도 하드웨어가 동작하긴 하지만 소프트웨어인 프로그램이 운영체제 환경에서 작성되고, 실행되고 있습니다. 이와 같은 소프트웨어가 운영체제이며, 운영체제의 주 목적은 컴퓨터 시스템의 자원들을 효율적으로 관리하고 사용자에게 서비스를 제공합니다. 운영체제가 관리하는 자원에는 물리적 자원과 추상적인 자원이 있습니다.물리적 자원: CPU, 메모리 등과 같은 하드웨어추상적 자원..