clock을 이용해 타이밍을 맞춘다.하드웨어 시스템은 전부 동기 방식으로 작동한다.위 코드에서 area()는 내부에서 distance()를 호출하고 리턴 값을 기다린다. 이 처럼 어떤 함수가 다른 함수의 리턴 값을 기다리고 있고 그 값을 처리하게 해주는 함수를 동기함수
왜 운영체제를 공부하는가? 거의 모든 코드가 운영체제 위에서 실행되므로 운영체제의 작동방식에 대한 지식은 적절하고 효율적이며 안전한 프로그래밍에 중요하다. Learn about 운영체제란 무엇인가 운영체제가 하는 일 운영체제의 설계 및 구축 운영체제의 공통 특징 >
운영체제는 그 속에서 프로그램이 실행되는 환경을 제공해 준다. 운영체제를 살펴보기 위한 몇 가지 유리한 관점이 있다. 운영체제가 제공하는 서비스에 초점 사용자와 프로그래머에게 제공하는 인터페이스에 초점 시스템의 구성요소와 그들의 상호 연결에 초점 운영체제가 제공하
초기의 컴퓨터 시스템은 한번에 하나의 프로그램만을 실행하도록 허용하였다. 이 프로그램이 시스템을 완전히 제어하고, 시스템의 모든 자원에 접근할 수 있었다. 반면 오늘날은 메모리에 다수으 ㅣ프로그램이 적재되어 병행실행된다. 따라서 다양한 프로그램을 제어하고 구획화할 필요
현대의 거의 모든 운영체제는
최신 운영체제에서는 실질적으로 프로세스가 아닌 커널 수준 스레드를 스케줄한다. 그러나 프로세스 스케줄링과 스레드 스케줄링 용어는 상호교환적으로 사용된다. 다중 프로그래밍의 목적은 CPU 이용률을 최대화하기 위해 항상 실행 중인 프로세스를 가지게 하는 데 있다. 어떤 프
협력적 프로세스는 다른 프로세스의 실행에 영향을 주거나 받는 프로세스이다. 공유 데이터를 동시에 접근하면 데이터의 일관성을 망칠 수 있다. 이러한 프로세스의 질서있는 실행을 보장하는 다양한 메커니즘을 논의한다. 병행 또는 병렬 실행될 때 공유하는 데이터의 무결성에 어떤
자원을 요청한 스레드도 대기하고, 자원을 점유한 스레드도 대기해 결코 그 상태를 변경시킬 수 없는 상황을 deadlocks이라고 부른다. 모든 프로세스가 다른 프로세스에 의해서만 일어나는 이벤트를 기다리는 상황이라고도 정리할 수 있다. 보통 운영체제들은 교착 상태 예방
cpu 스케줄링을 통한 성능향상을 실현하려면 많은 프로세스를 메모리에 유지해야 한다. 메모리 관리 방법은 시스템의 하드웨어 설계에 따라 달라진다. 따라서 하드웨어와 메모리 관리를 통합해야 한다. 논리주소와 물리주소의 차이점 알기주소를 변환할 때 MMU의 역할 알기내부
동적 적재(dynamic loading)와 가상 메모리(virtual memory)는 비슷한 개념으로 보일 수 있지만, 그들이 해결하려는 문제와 사용되는 기술은 매우 다릅니다.동적 적재는 프로그램의 특정 부분(예: 함수 또는 모듈)이 실제로 필요할 때까지 그 부분을 메
물리적 구조I/O 순서 스케줄링장치 포맷팅과 부트 블록, 손상된 블록 및 스왑 공간의 관리RAID 시스템의 구조암을 원하는 실린더로 이동하는 탐색시간과, 원하는 섹터가 헤드까지 회전하는 데 걸리는 회전 지연시간이 필요하다. 드라이브 컨트롤러에 DRAM 버퍼를 사용하여
컴퓨터의 주요 작업은 계산과 입출력 작업이다. 보통 입출력 작업이 더 중요하다.
기술이 발전하면서 프로세서의 성능은 빠른 속도로 발전했지만메모리의 성장은 이 속도를 따라가지 못했다.이러한 격차를 극복하기 위해 cache라는 고성능의 메모리를 두어 cpu가 하염없이 메모리를 기다리는 일을 어느정도 방지하였다.cache는 연산에 필요한 data를 미리
deadline scheduling priority scheduling : 동적 or 정적 우선순위FIFO schedulingSJF(Shortest Job First) schedulingRound Robin scheduling프로세스와 스레드 동작 구조
실행되어 메모리에 적재된 프로그램으로,프로세스는 각 메모리 공간을 시스템으로부터 할당 받음함수코드 ,제어문, 상수 등 실행할 프로그램의 코드가 컴파일 되어 저장되는 영역.cpu는 이 영역에서 명령어를 하나씩 가져와서 처리.읽기 전용 영역이라 일반적으로 한번 로딩되면 바
"파일을 열다"라는 표현은 운영체제에서 파일에 접근하고, 읽고, 쓰는 등의 작업을 수행하기 위해 파일을 사용할 수 있는 상태로 만드는 것을 의미합니다. 파일을 열 때 운영체제는 다음과 같은 일련의 작업을 수행합니다:1\. 파일 경로 확인: 운영체제는 제공된 파일 경로를
HDD와 NVM의 파일 저장과 접근을 둘러싼 이슈에 대해 다룬다. 이 장에서는 파일 사용 구조화, 저장장치 공간 할당, 반납된 공간 재사용, 데이터의 위치를 추적, 운영체제의 다른 부분과 저장장치와 연결하는 방법에 대해 다룬다. 이장의 목표 지역 파일 시스템 및 디
멀티 스레딩이란 말 그대로 한 프로세스 내에서 여러 실행 흐름(스레드)을 동시에 실행하여 작업을 병렬적으로 처리하는 기법이다. 요즘 같이 cpu의 성능이 좋아진 시대에서 cpu의 성능을 최대한 끌어내려면 멀티 스레딩은 어쩌면 필수라고도 볼 수 있다. 그렇다면 스레드가 뭐길래 병렬적으로 실행 가능하다는 걸까? 스레드에 대해 다들 알겠지만 조금 더 깊이 들...
프로그램은 실행되면 메모리에 적재되어 프로세스가 된다. 이 때, 프로세스가 할당받는 메모리의 구조와 동작방식에 대해 알아보자. 프로세스 메모리 구조
리얼타임 운영체제(Real-Time OS, RTOS)는 주어진 작업을 정해진 시간 안에 반드시 수행해야 하는 시스템을 지원하는 운영체제를 말한다. 시간 제한이 있는 작업을 우선적으로 처리하여, 항공우주, 자동차, 의료 기기 등과 같은 분야에서 많이 사용된다. 우선순위
뮤텍스와 세마포어를 보며 이 둘에 단수, 복수 차이 말고 어떤 차이가 있을까 궁금해졌다. 뮤텍스와 세마포어에 대한 기본적인 내용은 이전에 다뤘기 때문에 차이점에만 집중해서 알아보겠다.뮤텍스와 세마포어는 모두 멀티 스레드 혹은 멀티 프로세스 환경에서 공유 자원에 대한 접
IPC는 Inter-Process Communication의 약자로, 서로 다른 프로세스 간에 데이터를 주고 받기 위해 사용하는 다양한 메커니즘과 기술을 포괄하는 개념이다. IPC는 서로 다른 호스트에 위치한 프로세스 간의 통신도 포함하지만, 일반적으로 이는 네트워크