×
Crocus
공부한 내용을 정리하는 블로그로 시작한
Crocus는 2014년 1월 14일 부터 시작하여
현재 월 6만명, 총 2,238,571명의 방문자 수를 기록하고 있습니다.
Donation
이제 많은 사용자들이 이용하는 만큼
더 다양한 서비스 개발/제공을 위해 후원금을 모금하고자 합니다.
후원을 해주시는 분들은 Donators 명단에 성명, 후원금을 기입해드리며
Crocus 블로그가 아닌 다른 곳에 정리해둔 저만의 내용을 공유해 드리고자 합니다.
Account
예금주 : 고관우
신한은행 : 110-334-866541
카카오뱅크 : 3333-01-7888060

👉 후원 페이지 바로가기 Donators
익명 : 5000원(Crocus응원합니다.)
busyhuman: 5000원(유용한 지식 감사합니다.)
익명 : 5000원(알고리즘 학습러)
반응형

OS란 무엇일까?


- OS는 유저와 하드웨어 사이의 인터페이스 역할을 한다.

   -가상머신을 이용하여 하드웨어만 있을때 보다 프로그램 실행에 도움을 준다.


- OS는 표준 서비스를 제공하고 하드웨어 위에서 실행된다.

  - 프로세스, CPU 스케줄링, 메모리 관리자, 파일 시스템, 네트워크 등이 있다.


- OS는 다양한 앱과 사용자를 균일하고 효율적인 방법으로 조직화해준다.

  - OS의 목표는 더욱 편안하고 효율적인 기계를 만들기 위해 개발되었다.

    (소프트웨어적인 문제와 엔지니어링적인 문제에 대해)



OS가 제공해주는 몇가지 기능들


Concurrency(동시실행)

 - 많은 프로세스들이 한번에 움직인다.

 - 프로세스들은 서로 소통할 수 있게 되었다.

 - 프로세스들은 몇몇 리소스에 상호 배타적인 접근을 요구할지도 모른다.

 - cpu 스케줄링, 리소스 관리자들이 예이다.


메모리 관리자 - 프로세스들이 메모리에 할당되고, 프로세스들이 디스크와 메모리 사이를 움직이도록 도와준다.


파일 시스템 - 프로그램과 디스크에 있는 데이터에 저장공간을 할당한다.


네트워크와 분산 컴퓨팅 - 컴퓨터들이 함께 일할 수 있도록 허락한다.




Input/Output(I/O)


CPU와 디바이스 컨트롤러는 모두 통신을 위해 같은 버스를 사용한다.


소프트웨어 풀링으로 I/O를 동기화한다.

 - I/O가 vectored inturrupt를 보내기 전까지 CPU는 I/O를 실행시키고 계속 감시한다.


 - 디바이스 컨트롤러는 디바이스와 통신하기위한 레지스터를 가지고 있다.

   - input register, output register - for data

   - control register - to tell it what to do

   - status register - to see what it's done



Synchronous I/O : CPU는 I/O가 진행하는동안 기다렸다가 인터럽트가 오면 그 뒤에 다시 일을한다.

Asynchronous I/O : I/O가 실행하는 동안 동시에 CPU도 다른일 실행한다.



인터럽트를 기본으로하는 asynchronous I/O


 - 디바이스 컨트롤러는 자신의 프로세서를 가지고 있고, CPU와 비동기적으로 실행한다.

   - 디바이스 컨트롤러는 CPU의 관심이 필요할 때 시그널 인터럽트를 버스에 둔다.


 -CPU가 인터럽트를 받을때

  1. CPU상태를 저장하고 벡터 인터럽트를 이용하여 적절한 인터럽트 핸들러를 부른다.

  2. 핸들러는 반드시 소프트웨어 상태를 저장하고 복원한다.

  3. CPU는 CPU상태를 복원한다.








반응형