일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 컴퓨터공학과
- DP
- cs
- Operating System
- coding
- 코딩
- 북리뷰
- bfs
- 오에스
- Stack
- 컴공과
- 구현
- 정석학술정보관
- 알고리즘
- 오퍼레이팅시스템
- 컴공
- 개발
- 그래프
- 정석
- 백준
- OS
- 브루트포스
- 너비우선탐색
- 코테
- 스택
- c++
- 자료구조
- vector
- Computer science
- 문제풀이
- Today
- Total
목록Operating System (26)
Little Jay

System Calls System Calls(이하 Syscall)이라고 하는 것은 앞에서도 계속 언급해왔다. 정말 이를 간단하게 말하자면 함수의 호출이다. 그러나 그 의미를 조금 더 자세히 살펴보자면 Process가 특정한 Kernel Service를 요청하는 것이다. 이를 통해 Application Level에서 OS와 communicate할 수 있는 것이다. Sys Call의 목적은 결국 System Resource를 보호하고자 사용하는 것이다. OS 입장에서는 Kernel Level에서 동작하는 코드들은 Trusted, 즉 신뢰할 수 있는 것으로 여겨진다. 반면에 User Program의 Level의 코드들은 OS입장에서 Untrusted하다. 이를 Reliability 측면에서 본다면 User ..

Kernel 커널이라는 것은 OS의 부분으로서 항상 메모리에 상주하고 있는 것이다. 대부분이 C 코드로 적혀져 있으며, Assebly Language로 적혀져 있는 것이 많다. 또한 커널 자체는 수많은 함수들로 구성이 되어있다. 이전에 Linux 코드로 Interrupt Handling을 어떻게 처리하였는지 살펴보았는데, Process Management, Synchronization, CPU Scheduling, Memory Management, Device Management, Interrput Handling 등 컴퓨터가 동작하기 위한 주요 메커니즘을 함수로서 제공을 한다. 이러한 것들이 System Call 이라고 한다. Utility 커널을 제외한 모든 것을 의미한다. 이를 세분화 하자면 Sys..

Evolution of OS 개괄적으로 정리해보자면 1940년대 중반에서는 컴퓨터라고 하는 것은 국가적인 재산이었다. 에니악의 크기만 봐도 개인이 소유할 수 없는 국가적인 재산이었다. 하지만 이용율은 매우 낮았던 시기이다. 그렇기 때문에 점차 이용률과 Utilization을 높이는 것이 목표가 되면서 진화했다. 그러나 현대에 와서는 HW보다는 인간의 몸값이 더 비싼 수준이 되었다. 따라서 평균대기시간과 turn-around time을 줄이는 것이 목표가 되었고 인적 자원을 idle하지 않게 interactive한 시스템으로 진화해왔다. 결과적으로 HW와 OS는 서로 영향을 주면서 발전해왔다고 할 수 있다. Serial Processing 이 시대는 1940년대 중반수터 1950년대 중반까지의 시대이다. ..
Main Objective of OS Operating System의 주요 목적을 이야기 하라고 하면 세 가지의 측면을 이야기 해야한다. Convenience Efficiency Ability to Evolve OS는 사용자들로 하여금 컴퓨터를 더 쉽게 사용할 수 있고, OS는 컴퓨터 시스템의 자원(Resources)를 효과적으로 관리하며, 유연한 설계로 변화가 있어도 끊임없이 서비스를 제공할 수 있어야한다. Role of OS OS의 목적을 살펴보았으니 이제 실제 OS가 어떤 일을 하는지 알아보자. OS의 역할은 크게 두 가지로 나뉜다. 첫 번째는 중재자(Mediator)로서의 역할이다. 이는 다양한 Interface를 제공하는 동시에 프로그램을 실행, 개발, I/O 장치 접근, 파일 접근 제어, 시스..

I/O Controller I/O Device와 Processor가 통신하기 위해서는 특정한 Interface가 필요하다. 이 Interface는 I/O Controller이며, CPU와 I/O Controller는 System Bus를 통해서 Data를 주고 받는다. System Bus라고 하면 Data전송을 위한 HW Line이며 이는 중요한 시스템 자원이다. 이 System Bus는 최소 3개로 이루어져 있다. Address Bus : Src, Dst를 지정해주는 Bus이다 Data Bus : 실제 Data를 전송해주는 Bus Control Bus : 어떤 Operation을 수행해야하는지 알려주는 Bus이다 따라서 I/O Controller들은 이 Bus를 통해 CPU 대신해서 I/O 들을 Con..

Memory Hierarchy 메모리는 CPU의 작업공간이다. Processor가 성능을 최대한으로 내려면 Memory의 속도 역시 중요하다. Memory는 장치의 특성에 따라 피라미드 형태로 계층구조를 그릴 수 있다. 위의 그림을 보면 레지스터, SRAM, DRAM, DISK, Secondary Memory의 순으로 피라미드 형태로 나눌 수 있는 모습을 볼 수 있다. 피라미드가 점점 내려가면서 가격적인 측면과 용량적인 측면에서 이득을 많이 볼 수 있지만, 반면 속도가 점점 내려가고 이에 따른 대역폭도 내려간다. 우리는 이러한 관계를 메모리 계층구조라고 부른다. 그러나 우리는 ideal하게 빠른 속도의 High Level Memory와 Low Level Memory의 가격과 용량을 얻고 싶다. 따라서 우..