CS

[운영체제] 기본개념, 커널, 시스템

2023. 10. 14. 18:03
목차
  1. 운영체제
  2. 커널
  3. 시스템
  4. 다중 프로그래밍 시스템
  5. 시분할 시스템
  6. 대화형 시스템
  7. 다중 처리기 시스템 (멀티 프로세서 시스템)

 

운영체제


  • 하드웨어 위에 설치되어 하드웨어 계층과 다른 소프트웨어 계층을 연결하는 소프트웨어 계층
  • 컴퓨터 시스템의 자원을 관리하고, 사용자가 컴퓨터를 사용할 수 있는 환경을 제공하는 역할 수행
  • 악성 프로그램에 대한 사용자와 운영체제 자신을 보호

 

운영체제의 목적

  • 처리 능력(throughput) 향상: OS는 자원 관리를 통해 일정 시간 내에 시스템이 처리하는 일의 양을 향상시킨다.   
  • 반환 시간(turnaround time) 단축: OS는 사용자가 시스템에 요청한 작업을 완료할 때까지 소요되는 시간을 단축시킨다.   
  • 사용 가능도(availability) 향상: 사용 가능도는 시스템 자원을 얼마나 빨리 제공할 수 있는가를 의미한다. OS는 사용자가 컴퓨터를 사용해야 할 때 자원을 즉시 사용할 수 있게 한다.   
  • 신뢰도(reliability) 향상 : 신뢰도는 시스템이 주어진 문제를 정확하게 푸는지를 의미한다. OS는 입력 값에 대한 정확한 결과 값을 줄 수 있도록 신뢰도를 향상해야 한다.

 

커널

  • 운영체제의 핵심 서비스를 담당하는 부분으로 컴퓨터 하드웨어와 프로세스의 보안, 자원관리, 하드웨어 추상화 같은 중요한 역할을 수행한다.
  • 특히 자원 관리를 위해 CPU 스케줄링, 메모리 관리, 입출력 관리, 파일 시스템 관리 등을 담당한다.
  • 운영체제가 제공하는 서비스 중 커널에 포함되지 않는 서비스도 있다. ex.사용자 인터페이스

 

커널 모드 : 하드웨어에 직접 접근해 메모리 CPU와 같은 자원을 사용할 수 있다.

사용자 모드 : 커널 모드의 자원에 접근할 수 없게 제한을 둔다

시스템 콜 : 사용자 모으데서 실행된 프로세스가 자원에 접근하려면 시스템 콜을 호출해서 커널에 요청해야한다.

 

 

 

시스템


다중 프로그래밍 시스템

  • 메모리의 사용자 영역에 프로그램이 여러개 탑재되어 있고, CPU가 이를 번갈하 수행한다. (메모리 공간 분할해서 적재)
  • 수행하는 프로세스는 스케줄링을 통해 결정한다.
  • 입출력이 일어날 때만 스케줄링이 일어나, 한 프로그램의 입출력 작업이 완료되더라도 해당 프로그램의 작업을 다시 시작할 수 없다는 단점이 있다. 

 

시분할 시스템

  • 다중 프로그래밍 방식의 단점을 보완하기 위해 타임 슬라이스를 활용한다.
  • 타임 슬라이스 : 타이머 인터럽트를 통해 구현 (일정 시간 단위 분할)
  • 입출력 발생과 타임슬리이스에서 무조건 스케줄링을 진행한다. 이에 따라 입출력 후 대기시간이 줄어들어 대화가 빈번한 프로그램도 자연스럽게 수행될 수 있다.

 

대화형 시스템

  • 사용자의 요청에 대한 결과를 곧바로 얻을 수 있는 시스템

 

다중 처리기 시스템 (멀티 프로세서 시스템)

  • 멀티 프로세싱은 다수의 프로세서가 협력적으로 여러 작업들을 동시에 처리하는 것을 말한다.
  • 다수의 작업을 병렬로 처리할 수 있고, 어떤 프로세서가 고장날지라도 작업이 중단되지 않는 장점이 있다.

 

 

풀링(Polling) : 운영체제가 하드웨어장치의 상태레지스터를 읽음으로써 명령의 수신 여부를 주기적으로 확인하는 것

인터럽트 : CPU가 프로그램을 실행하는 중에 I/O 하드웨어장치나 다른 예외 상황의 발생으로 인해 특별한 처리가 필요할 때 CPU에 이를 알려 처리하도록 하는 것  

 

DMA(Direct Memory Access) : 직접 메모리 접근

  • 하드웨어장치의 들이 메모리에 직접 접근하여 읽거나 쓸 수 있도록 하는 기능
  • CPU의 개입 없이 I/O 장치와 기억장치 사이의 데이터를 전송하는 접근 방식

 

동기식 I/O : 입출력이 일어날 때 순서를 보장함 - 해당 입출력 작업이 완료되어야지만 다음 입출력 요청 수행

비동기식 I/O : 입출력이 일어날 때 순서를 보장하지 않음 - 해당 입출력 작업의 완료를 기다리지 않고 다음 요청이 들어오면 제어권을 넘겨주어 다른 작업을 수행할 수 있도록 함.

 

 

저작자표시 (새창열림)

'CS' 카테고리의 다른 글

[네트워크] OSI 7계층, TCP/IP, HTTP  (0) 2023.10.14
[네트워크] 쿠키, 세션, REST  (0) 2023.10.14
[운영체제] 메모리 관리, 가상메모리  (0) 2023.10.14
[운영체제] 프로세스 동기화, 데드락  (0) 2023.10.07
[네트워크] 네트워크 레이어, IP 프로토콜  (0) 2023.10.07
  1. 운영체제
  2. 커널
  3. 시스템
  4. 다중 프로그래밍 시스템
  5. 시분할 시스템
  6. 대화형 시스템
  7. 다중 처리기 시스템 (멀티 프로세서 시스템)
'CS' 카테고리의 다른 글
  • [네트워크] OSI 7계층, TCP/IP, HTTP
  • [네트워크] 쿠키, 세션, REST
  • [운영체제] 메모리 관리, 가상메모리
  • [운영체제] 프로세스 동기화, 데드락
jny0
jny0
성장일기
jny0
J N Y 0
jny0
  • 분류 전체보기 (192)
    • 트러블슈팅 (6)
    • Java (22)
    • HTML, CSS , JavaScript (7)
    • MySQL, DBMS (9)
    • GIT (6)
    • 객체지향의 사실과 오해 (3)
    • 자바 ORM 표준 JPA 프로그래밍 (13)
    • 알고리즘 (114)
      • 자료구조 (59)
      • 수학 (11)
      • 정렬 (2)
      • 그리디 (3)
      • DP (4)
      • 그래프 (3)
      • 탐색 (9)
      • 재귀 (2)
      • 문자열 (9)
      • 기타 (12)
    • CS (10)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 글쓰기
  • 관리

공지사항

인기 글

태그

  • 자료구조
  • MySQL
  • 누적합
  • Java
  • 영상후기
  • git
  • 알고리즘
  • JS
  • BFS
  • method
  • 스택
  • 백준
  • 그리디
  • db
  • DP
  • 구현
  • 투포인터
  • 프로그래머스
  • JPA
  • codeup

최근 댓글

최근 글

hELLO · Designed By 정상우.
jny0
[운영체제] 기본개념, 커널, 시스템
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.