목록전체 글 (382)
Priv's Blog
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/JyONZ/btrhVrN06yn/0EYGLxvTz1ExCAGVnwtSY1/img.png)
1. 교착 상태의 개념과 발생 원인 1.1) 교착 상태(DeadLock)와 기아 상태(Starvation)의 개념 교착 상태란, 결코 일어나지 않을 사건(이벤트)에 대해서 프로세스가 기다리고 있는 것을 말한다. 기아 상태란, 무기한 연기로 인해 아무리 기다려도 자신의 차례가 돌아오지 않는 것을 말한다. 다중 프로그래밍 시스템에서 프로세스들이 한정된 시스템 자원 차지를 위해 경쟁할 때 발생할 수 있다. 교착 상태, 기아 상태는 프로세스가 작업을 수행하지 못하고 무한히 대기한다는 공통점이 있다. 하지만 서로 작업을 수행하지 못하는 원인이 다르다. 1.2) 교착 상태 예시 프로세스 A와 B는 스캐너, CD 레코더를 공유한다. 프로세스 A는 스캐너를 할당받고, CD 레코더를 추가로 할당받는다. 프로세스 B는 C..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bkDmnd/btrgWDQmPfa/Kr01VCI230JZNGTOdURix1/img.png)
1. 병행 프로세스 프로세스 여러 개가 동시에 실행되는 것을 병행 프로세스라고 부른다. 병행 프로세스는 독립 프로세스와 협력 프로세스로 나눠진다. 병행 프로세스들은 제한된 자원을 공유하기 위해 상호작용해야 한다. 또한 프로세스 간의 동기화 문제 및 교착 상태 문제를 해결하기 위한 방안이 필요하다. 병행 프로세스는 다음과 같은 환경에서 실행된다. 다중 프로세서 시스템 분산 처리 시스템 단일 프로세서 시스템에서의 다중 프로그래밍 1.1) 독립 프로세스 다른 프로세스와 영향을 주고받지 않으므로, 동작을 재현할 수 있다. 초기값에 따라 동일한 결과를 보여준다. 1.2) 협력 프로세스 다른 프로세스와 영향을 주고받으면서 기능을 수행한다. 1.3) 병렬성과 병행성 병렬 컴퓨팅과 병행 프로세스는 여러 프로세스들을 동..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/doQPmi/btrgjz1PAM6/mfrFzsNi0Bp04EkxYEPWgk/img.png)
1. 프로세스의 개념 1.1) 등장 배경 다중 프로그래밍이 등장하면서 여러 프로그램들이 서로의 자원을 공유하기 시작했다. 이로 인해 여러 프로그램들을 함께 제어하기 위한 방법이 필요해졌다. 1960년대, '멀틱스' 시스템 설계자가 처음으로 '프로세스'라는 용어를 사용함. 1.2) 프로세서의 정의 가장 보편적인 프로세서의 정의는 '실행 중인 프로그램'이다. 프로그램: 코드와 정적 데이터들로 이루어진 것. 프로세스: 프로그램이 메모리에 적재된 것. 프로그램의 코드가 얼마 되지 않더라도, 프로세스 상에서 연산을 처리할 때, 해당 프로그램이 자원을 과하게 먹는 오류가 발생할 수도 있다. 프로세스와 프로그램은 같은 개념이 아님에 주의하자. 1.3) 시스템 관점에서 본 프로세스 프로그램이 프로세스가 된다는 것은 장..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/QRrBL/btrhsgAoHNT/NrVBzaIh8KLgZN7Mo8T1b0/img.png)
1. 운영체제 개념 및 발전 목적 1.1) 운영체제의 역할 컴퓨터 시스템은 사용자, SW, HW 3가지로 구성되어 있다. 여기서 운영체제의 역할은 다음과 같다. 다양한 응용프로그램(SW)이 HW 자원을 효율적으로 사용하도록 관리 및 조정 시스템을 편리하게 사용하도록 HW, 사용자, 응용 프로그램, 시스템 프로그램 사이의 인터페이스 제공 프로그램의 실행 제어 다양한 사용자에게서 컴퓨터 시스템을 보호하기 위한 입출력 제어 및 데이터 관리 1.2) 운영체제의 정의 운영체제는 역할과 기능이 매우 다양하기 때문에 완벽한 정의가 어렵다. 일반적으로 사용되는 '운영체제'의 정의는 다음과 같다. 응용 프로그램이 HW와 상호 작용할 수 있도록 지원하는 SW. 응용 프로그램의 실행을 제어, 자원 할당 및 관리, 입출력 제..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/EiCUI/btrgMAxI8n2/7A8HI5ZnelMpmPOyOopIv1/img.png)
1. 하드웨어, 운영체제, 응용 프로그램 1.1) 운영체제 컴퓨터 시스템 효율성 향상, 사용자에게 편리한 환경을 제공하기 위한 SW. 컴퓨터 HW와 사용자 사이에 위치하며, HW와 SW 자원을 관리한다. 1.2) 컴퓨터 HW 프로세서, 메모리, 각종 주변 장치들로 구성되며, 이는 시스템 버스로 연결된다. 프로세서: CPU, GPU 등 메모리: RAM(주기억장치), ROM(보조기억장치) 시스템 버스: 각종 주변 장치들을 연결 주변 장치: 키보드, 마우스, 모니터 등 1.3) 응용 프로그램 사용자 또는 다른 응용 프로그램에게 특정한 기능을 직접 수행할 수 있도록 설계된 프로그램. 운영체제 위에서 동작하며, 사용자가 직접 제어할 수 있다. 2. 컴퓨터 HW 구성 운영체제의 원리를 이해하려면 컴퓨터 HW가 어떻..