운영체제의 역할과 개발목적

원래벌레·2022년 9월 4일
0
post-custom-banner

🌞 운영체제의 개념

🌼 운영체제란?

  • 응용 프로그램(사용자)과 하드웨어 간의 중재자 역할을 하는 프로그램이다.

  • 하드웨어를 효율적으로 관리하는 시스템 소프트웨어이다.

  • 응용프로그램의 실행을 제어하는 시스템 소프트웨어이다.

🌼 운영체제의 역할

  • 사용자와 하드웨어 사이의 대화 통로

  • 컴퓨터를 편리하게 사용할 수 있도록 사용자 인터페이스를 제공한다.

  • 응용 프로그램이 작업을 할 수 있는 환경을 제공한다.

  • 하드웨어의 자원을 운영하고 관리한다.

  • 응용 프로그램 내의 부적절한 명령어나 오류에 대하여 대처한다.

🌞 운영체제 개발 목표

  • 주축이 되는 목표는 생산성 향상 이다.

이는 또다시 사용자의 편의성 극대화시스템의 성능 극대화 로 나뉜다.
또 이는 처리능력증대, 응답시간 단축, 신뢰도 향상, 사용가능도 향상 으로 나뉜다.

결론적으로 운영체제의 개발 목표는
사용자의 편의성과 시스템의 성능을 최대한으로 끌어올려 생산성을 극대화하는 것 이다.

하지만 이는 서로의 상관관계가 있어서 편의성up -> 성능down,
성능up -> 편의성down
의 결과가 난다.

🌞 운영체제의 기능

1) 자원관리의 기능 : 메모리관리, 프로세스관리, 주변장치관리, 파일관리

2) 기타 시스템관리의 기능 : 시스템 보호(사용자 권한 부여), 네트워킹, 명령해석기

🌼 자원관리

  • 메인 메모리 관리 기능

    1) 메모리 할당 / 회수
    2) 어떤 프로세스에게 얼만큼 할당할 것인지 결정

  • 프로세스 관리 기능

    1) 프로세스 생성, 종료
    2) 프로세스 중지, 재수행
    3) 프로세스 스케줄링
    4) 프로세스 통신 방법 제공 (소켓, 시그널, shared_memory)
    5) 프로세스 동기화 방법 제공 (프로세스가 협력을 하는 경우 순서를 맞춤)
    6) 교착상태 (dead lock) 방지 방법 제공

  • 주변장치(입출력장치) 관리

    1) 일반 / 특정 장치용 드라이버 제공
    -> 장치 드라이버를 사용하여 입출력장치와 상호작용

    2) 입출력 장치 스케줄링

    3)접근 요청 스케줄링
    -> 디스크 스케줄링

    4) 보조 기억 장치 관리의 기능
    -> 저장 장소 할당 / 회수
    -> 빈 공간 관리
    -> 버퍼캐시 기능 제공
    ( 버퍼캐시 : 메인메모리가 이미 다 사용한 데이터를 디스크로 반환하지 않고, 버퍼캐시라는 공간을 두어 저장을 한다. 이 경우 새로이 해당 데이터를 다시 실행한다 했을 때, 디스크에서 다시 끌어오지 않고 메인메로리 내의 있는 버퍼캐시에서 데이터를 가져오기 때문에 빠르게 데이터를 처리 할 수 있다.)

  • 파일(데이터) 관리

    1) 파일 생성, 삭제
    -> 디렉터리 생성, 삭제
    -> 비휘발성 저장장치에 파일 저장

    2) 파일에 대한 접근 제어

    3) 보조기억장치의 file mapping
    (디스크의 파일을 메모리에 적재하는 것,
    메모리에 입출력 하는 것이 바로 디스크 입출력이 되게 하는 기능)

🌼 기타 시스템 관리

  • 시스템 보호 (사용자 권한 부여)

    컴퓨터 자원에 대한 프로세스와 사용자의 접근 제어
    -> 동시 실행프로세스들은 상호 보호필요
    -> 데이터 보호
    (파일 사용 권한 부여, 데이터 암호화등의 서비스 제공
    파일 공유 시 여러 사용자로 부터 파일 보호)

  • 네트워킹(통신)

    프로세스 통신 시 경로 설정, 접속 정책, 충돌, 보안 등 고려해야 함

  • 명령어 해석

    명령어 해석기는 운영체제의 일부
    -> 사용자와 운영체제 사이의 인터페이스 ex) unix의 shell

    -> 커널과 분리하는 것이 좋음
    (커널 코드 변경 없이 명령어 해석기의 인터페이스만 변경 가능)

profile
학습한 내용을 담은 블로그 입니다.
post-custom-banner

0개의 댓글