운영 체제(Operating System, OS) : 컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층. 파일 관리, 메모리 관리, 프로세스 관리, 입력 및 출력 처리, 디스크 드라이브 및 프린터 등 주변 장치 제
POSIX는 "이식 가능한 운영 체제 인터페이스"를 의미합니다. 이는 IEEE가 지정한 운영 체제 간 호환성을 유지하기 위한 표준의 모음입니다. 따라서 POSIX 표준을 준수하는 소프트웨어는 POSIX 표준을 따르는 다른 운영 체제와 호환될 것으로 예상됩니다.이러한 이
역할Mode bit사용자 프로그램의 잘못된 수행으로 다른 프로그램 및 운영체제에 피해가 가지 않도록 하기 위한 보호장치Mode bit == 1 : 사용자 모드 - 사용자 프로그램 수행Mode bit == 0 : 모니터 모드(커널 모드, 시스템 모드) - OS 코드 수행
UNIX 계열 운영 체제 중 하나로, 무료 및 오픈 소스 소프트웨어로 제공되는 운영 체제입니다. 리눅스는 개발자, 시스템 관리자, 서버 운영자, 임베디드 시스템 개발자 등 다양한 사용자에게 널리 사용되고 있습니다. 리눅스는 많은 배포판(Distribution)으로 나뉘
프로그램을 실행하는 도중에 예기치 않은 상황이 발생할 경우 현재 실행중인 작업을 중단하고 발생된 상황을 처리한 후 다시 실행중인 작업으로 복귀하는 것외부 인터럽트전원 이상 인터럽트 : 전원 파워의 이상기계 착오 인터럽트 : CPU의 기능적인 오류외부 신호 인터럽트타이머
입출력장치와 메모리 사이 데이터 흐름에서 CPU를 배제하기 위해 사용하는 입출력 제어 방식예를 들어 하드디스크에서 메모리로 데이터를 이동시킬 때, 가장 기본적인 방식인 Programmed I/O(Polling) 방식으로 구현하면 하드디스크에서 데이터를 꺼낸 후 시스템
위쪽일수록 빠르고, 빈도가 많고, 용량이 작고, 비싸다.regiser와 RAM의 속도는 50배 차이가 난다. 50배 차이나는 녀석과 소통하기는 어려운 일이다. 이를 완충역할 해주는 것이 Cache memory.core마다 L1, L2 캐시가 붙어있고, L3 cache
Process는 프로그램을 실행하는 작업 단위입니다. 하나의 프로그램을 여러 번 실행하면, 여러 개의 process가 실행됩니다. 개념프로세스 context(문맥) : CPU 수행 상태를 나타내는 하드웨어 문맥Program Counter각종 register프로세스 주소
정의 : process내에서 실행되는 흐름의 단위.즉, 여러 개의 thread가 있다면 여러개의 작업의 흐름을 가질 수 있는 것이죠.예시 하나의 thread만 가지고 있다고 가정한다면 메세지를 주고받을 때 메세지를 보내는 작업을 수행한 뒤에 메세지를 받는 작업을 수행
한 CPU core에서는 한 번에 하나의 process만 실행할 수 있습니다. 다른 process는 대기해야 합니다. 하지만 이렇게 기다리게 되면 CPU는 아무 작업도 실행하지 못하며, 시간과 자원이 낭비됩니다. 또한 실행해야 할 process가 있지만 앞선 proce
여러 프로세스들이 동시에 공유 데이터를 접근하는 상황데이터의 최정 연산 결과는 마지막에 그 데이터를 다룬 프로세스에 따라 달라집니다.즉, 프로세스들은 병렬적으로 실행이 될 수 있기 때문에 여러 프로세스가 공유하고 있는 데이터의 무결성에 문제를 야기할 수 있습니다.A(생
다중 프로그래밍 환경에서는 여러 프로세스들이 한정된 자원을 사용하려고 서로 경쟁하는 상황이 발생할 수 있습니다. 마치 아래의 그림과 같은 상황을 말합니다. 이를 Deadlock (교착상태)이라고 합니다.시스템은 유한한 개수의 자원들로 이루어져 있습니다.(자원(resou
메모리는 데이터의 특정 형식으로 구성된 집합으로 정의됩니다. 주로 명령을 저장하고 데이터를 처리하는 데 사용됩니다. 메모리는 많은 단어나 바이트의 배열 또는 그룹으로 구성되며, 각각 고유한 위치를 가집니다. 컴퓨터 시스템의 주요 목적은 프로그램을 실행하는 것입니다. 이
메모리는 값 저장용 배열이며, CPU는 주소 값으로 특정 위치에 접근합니다. 하나의 프로세스는 메모리를 모두 사용할 수 있지만, 두 개 이상의 프로세스에서는 메모리 자원 분배가 중요합니다.프로그램은 원래 디스크에 저장되어 있습니다. 프로그램이 실행되기 위한 단계는 다음
가상 메모리는 물리 메모리로부터 사용자 관점의 논리 메모리를 분리시켜 메인 메모리를 균일한 크기의 저장 공간으로 구성된 엄청나게 큰 배열로 추상화시켜 줍니다가상 메모리를 이용하면 프로그램이 실제 물리 메모리보다 큰 메모리 공간을 요구하더라도 사용이 가능하다는 장점이 있
컴퓨터는 정보를 어떤 저장 매체에 저장할 수 있습니다.파일정보를 담는 논리적인 단위.사용자의 관점 : 파일은 이름이 붙여져 있고 시스템이 재부팅되어도 사라지지 않는 데이터들의 집합운영체제의 관점 : 데이터를 저장하고 있는 디스크 블록들의 집합체어떠한 자료이든, 자료가