브리프유 브리프유 로그인
자청의 유튜브 추출기

유튜브 영상의 자막과 AI요약을 추출해보세요

AI 채팅

BETA

사무자동화 필기 1강: 운영체제 기초, 핵심만 쏙쏙!

게시일: 작성자: 자청의 유튜브 추출기

사무자동화 산업기사 필기 공부, 어렵지 않아요!

공부 방법 꿀팁!

  • 처음부터 다 외우려 하지 마세요! 너무 지쳐요.
  • 강의를 보면서 전체적인 내용을 파악하고,
  • 기출문제를 풀면서 중요한 내용을 집중적으로 외우는 게 최고예요!

파트 1: 사무자동화 시스템

1. 운영 체제 (Operating System, OS)

  • 운영 체제란?

    • 컴퓨터의 딱딱한 하드웨어랑 부드러운 소프트웨어 기능을 우리가 쓸 수 있게 도와주는 시스템 소프트웨어예요.
    • 쉽게 말해, 컴퓨터랑 우리가 서로 소통할 수 있게 해주는 다리 같은 거죠!
    • 컴퓨터 안에 있는 CPU, 메모리 같은 자원을 똑똑하게 관리해서 우리가 컴퓨터를 더 편리하게 쓸 수 있게 해줘요.
    • 예를 들어, 게임을 하거나 인터넷을 할 때 어떤 작업을 먼저 처리할지 운영 체제가 알아서 관리해줘요.
  • 운영 체제의 역할

    • 인터페이스 역할: 컴퓨터 하드웨어(CPU, 메모리, 키보드, 모니터 등)와 우리 사이의 소통을 도와줘요.
    • 하드웨어 자원 관리: CPU, 메모리, 입출력 장치 같은 컴퓨터 부품들을 관리해요.
    • 응용 프로그램 지원: 게임, 엑셀, 한글 같은 프로그램들이 운영 체제가 제공하는 기능을 이용해서 컴퓨터 자원에 접근할 수 있게 해줘요. (윈도우, 리눅스, 유닉스 빼고 거의 다 응용 프로그램이라고 생각하면 돼요!)
  • 사용자 인터페이스 (UI) 설계 4가지 원칙

    • 직관성 (Intuitive): 따로 배우지 않아도 딱 보면 알 수 있게 만드는 것. (예: 버튼 모양만 봐도 어떤 기능인지 알 수 있게)
    • 유효성 (Effective): 원하는 작업을 정확하고 완벽하게 할 수 있게 만드는 것.
    • 학습성 (Learnable): 배우기 쉽고 사용하기 쉽게 만드는 것.
    • 유연성 (Flexible): 사용자의 요구에 맞춰서 작업 방식이나 설정을 바꿀 수 있게 하는 것. (예: 메뉴 순서 바꾸기)
  • 운영 체제의 동작

    • 컴퓨터 전원을 켜면 운영 체제가 보조 기억 장치(하드디스크 등)에서 주기억 장치(RAM)로 로딩돼서 실행돼요.
    • 운영 체제 전체를 RAM에 다 올리기엔 너무 크니까, 필요한 부분만 RAM에 올려서 효율적으로 사용해요.
    • 커널 (Kernel): 운영 체제의 핵심적인 부분으로, 항상 RAM에 올라가서 실행돼요. 프로세스 관리, 메모리 관리 같은 중요한 일을 해요.
    • 쉘 (Shell): 사용자의 명령어를 해석해서 커널에게 전달하는 명령어 해석기예요. 필요할 때만 RAM에 올라가서 작동해요. (예: 윈도우의 명령 프롬프트, 리눅스의 터미널)
  • 디렉토리 (Directory)

    • 파일들을 정리하기 위한 폴더 같은 개념이에요.
    • 파일들을 체계적으로 관리하기 위한 구조를 말해요.
    • 경로:
      • 절대 경로: C:\부터 시작해서 파일까지의 전체 경로를 다 적는 것.
      • 상대 경로: 현재 위치를 기준으로 파일까지의 경로를 적는 것. (점점 ..은 상위 폴더, 점 .은 현재 폴더를 의미)
    • 윈도우: \ (백슬래시) 사용
    • 유닉스/리눅스: / (슬래시) 사용
    • 트리 구조: 대부분의 운영 체제에서 사용하는 계층적인 파일 관리 구조예요. (폴더 안에 폴더, 폴더 안에 파일이 있는 것처럼)
  • 운영 체제의 주요 기능

    • 컴퓨터와 사용자 간의 인터페이스 제공
    • 입출력 지원
    • 프로그램 간섭 방지 및 사용자 데이터 보호
    • 주기억 장치 관리
    • CPU를 통한 프로그램 실행 관리
    • 파일 관리
    • 명령어 해석 및 실행
  • 운영 체제의 목적 4가지

    • 처리 능력 향상: 제한된 시간 안에 더 많은 데이터를 처리하는 것.
    • 응답 시간 단축: 요청한 작업이 완료될 때까지 걸리는 시간을 줄이는 것.
    • 신뢰도 향상: 시스템이 주어진 문제를 정확하게 해결하는 것.
    • 사용 가능도 향상: 시스템이나 서비스를 필요할 때 즉시 사용할 수 있게 하는 것.
  • 운영 체제의 발전 순서

    • 일괄 처리 → 다중 프로그래밍 → 시분할 처리 → 다중 처리 → 실시간 처리 → 다중모드 시스템 → 분산 처리 시스템
  • 운영 체제의 프로세스 (Process)

    • 실행 중인 프로그램을 말해요. 컴퓨터의 작업 단위죠.
    • PCB (Process Control Block): 각 프로세스를 관리하고 제어하는 데 필요한 정보를 담고 있는 자료 구조예요. (프로세스 상태, 프로그램 카운터, 레지스터 값 등)
    • 문맥 교환 (Context Switching): CPU가 여러 프로세스를 번갈아 가며 실행할 때, 이전 프로세스의 상태를 저장하고 다음 프로세스의 상태를 불러와서 실행하는 과정이에요.
    • 비동기적 행위: 어떤 작업이 완료될 때까지 기다리지 않고 다른 작업을 수행하는 것. (여러 작업을 동시에 하는 것처럼 보이게 함)
    • 디스패치 (Dispatch): 준비 상태에 있는 여러 프로세스 중에서 하나를 선택해서 CPU를 할당하고 실행시키는 것.
  • 프로세스의 종류

    • 순차 프로세스: 하나의 프로세스가 끝날 때까지 다른 프로세스가 실행되지 않고 순서대로 하나씩 실행되는 것. (동기적)
    • 병행 프로세스: 여러 프로세스가 동시에 실행되는 것처럼 보이게 하는 것. (실제로는 빠르게 전환)
  • 프로그램 vs 프로세스

    • 프로그램: 실행되기 전의 정적인 코드 상태 (하드디스크에 저장된 파일)
    • 프로세스: 실행 중인 동적인 상태 (RAM에 올라가서 실행되는 작업)
  • 프로세스의 상태 변화

    • 제출 (Submit): 사용자가 작업을 시스템에 제출한 상태.
    • 보류 (Hold): 제출된 작업이 디스크에 저장된 상태.
    • 준비 (Ready): CPU를 할당받기 위해 기다리는 상태. (준비 큐에서 대기)
    • 실행 (Running): CPU를 할당받아 실행되는 상태.
    • 대기 (Waiting): 입출력 작업 등으로 인해 실행이 중단된 상태.
    • 완료 (Terminate): 프로세스 실행이 끝나고 해제된 상태.
  • 스케줄링 기법

    • 선점형 스케줄링: 실행 중인 프로세스를 중단시키고 다른 프로세스에게 CPU를 할당할 수 있는 방식. (예: 라운드 로빈, SRT)
    • 비선점형 스케줄링: 실행 중인 프로세스가 완료될 때까지 중단시킬 수 없는 방식. (예: FCFS, SJF)
    • FCFS (First-Come, First-Served) / FIFO (First-In, First-Out): 먼저 온 프로세스를 먼저 처리하는 방식.
    • SJF (Shortest Job First): 실행 시간이 가장 짧은 프로세스를 먼저 처리하는 방식. (기아 현상 발생 가능)
    • HRN (Highest Response Ratio Next): SJF의 단점을 보완한 방식으로, 대기 시간과 실행 시간을 고려하여 응답률이 높은 프로세스를 먼저 처리.
    • SRT (Shortest Remaining Time): 현재 실행 중인 프로세스보다 남은 실행 시간이 짧은 새로운 프로세스가 도착하면 현재 프로세스를 중단하고 새로운 프로세스를 실행하는 방식.
    • 라운드 로빈 (Round Robin): 각 프로세스에게 일정 시간(타임 퀀텀)을 할당하고, 시간이 지나면 다른 프로세스에게 CPU를 할당하는 방식. (시분할 시스템의 대표적인 방식)
    • MFQ (Multi-Level Feedback Queue): 다양한 특성의 작업이 혼합된 경우에 유용한 방식으로, 프로세스의 특성에 따라 여러 개의 대기 큐를 사용.
  • 교착 상태 (Deadlock) 4가지 조건

    • 상호 배제 (Mutual Exclusion): 한 번에 하나의 프로세스만 특정 자원을 사용할 수 있는 것.
    • 점유와 대기 (Hold and Wait): 프로세스가 자원을 점유한 채로 다른 프로세스가 점유한 자원을 기다리는 것.
    • 비선점 (No Preemption): 다른 프로세스가 점유하고 있는 자원을 강제로 뺏을 수 없는 것.
    • 환형 대기 (Circular Wait): 각 프로세스가 다음 프로세스가 점유하고 있는 자원을 기다리며 원형으로 구성되는 것.
  • 동기화 기법

    • 뮤텍스 (Mutex): 한 번에 하나의 스레드 또는 프로세스만 공유할 수 있는 자원. (개수가 1개일 때 사용)
    • 세마포어 (Semaphore): 여러 개의 공유 가능한 자원. (개수가 2개 이상일 때 사용)
  • 문자 입력 소프트웨어 (IME - Input Method Editor)

    • 한글, 일본어, 중국어처럼 문자가 많은 언어를 입력할 때 사용해요.
    • 키보드 입력을 복잡한 문자로 변환해줘요.
  • 운영 체제 환경 설정

    • 사용자 계정 관리: 로컬 계정, 마이크로소프트 계정 (윈도우), 루트 계정, 일반 사용자 계정 (리눅스)
    • 네트워크 설정: IP 주소, 서브넷 마스크, 기본 게이트웨이, DNS 서버 설정.
      • ipconfig (윈도우), ifconfig 또는 ip a (리눅스) 명령어로 IP 주소 확인.
    • 윈도우 보안: 바이러스 및 위협 방지, 방화벽, 장치 보안 등 설정.
      • 디펜더 (Defender): 윈도우의 기본 방화벽.
      • 비트라커 (BitLocker): 드라이브 암호화.
    • 환경 설정 파일: 운영 체제나 프로그램의 동작 방식을 정의하는 파일. (레지스트리, XML, YAML, JSON, .conf 등)
    • 환경 변수: 시스템 전체 또는 사용자에게 적용되는 설정값. (예: PATH 환경 변수)
  • 운영 체제의 종류

    • 데스크톱: 윈도우, 맥OS, 리눅스 등
    • 서버: 유닉스 등
    • 모바일: iOS, 안드로이드
    • 임베디드: 스마트폰, 자동차, 가전제품 등에 사용되는 운영 체제. (제한된 자원, 실시간 처리, 높은 안정성이 특징)
  • 운영 체제의 제어 수단

    • CLI (Command Line Interface) / CUI (Character User Interface): 키보드로 명령어를 입력하는 방식.
    • GUI (Graphical User Interface): 마우스로 아이콘이나 메뉴를 클릭하는 방식.
  • 주요 명령어 (꼭 외우세요!)

    • 윈도우:
      • dir: 현재 폴더 목록 확인
      • cd: 디렉토리 변경
      • md (또는 mkdir): 새 디렉토리 생성
      • del (또는 erase): 파일 삭제
      • cls: 화면 지우기
      • find: 파일 내 문자열 검색
      • chkdsk: 디스크 상태 점검
      • format: 디스크 초기화
    • 유닉스/리눅스:
      • ls: 파일/디렉토리 목록 확인
      • cd: 디렉토리 이동
      • pwd: 현재 작업 디렉토리 경로 출력
      • mkdir: 디렉토리 생성
      • rmdir: 디렉토리 삭제
      • cp: 복사
      • mv: 이동
      • rm: 삭제
      • cat: 파일 내용 출력
      • grep: 파일 내 특정 문자열 검색
      • find: 파일 시스템에서 파일 검색
      • more: 파일 내용 페이지 단위 확인
      • chmod: 접근 권한 변경
      • chown: 소유자/그룹 변경
      • ps: 프로세스 목록 확인
      • top: 시스템 리소스 사용량 실시간 확인
      • kill: 프로세스 종료

이 내용들을 바탕으로 꾸준히 공부하면 사무자동화 산업기사 필기, 꼭 합격할 수 있을 거예요! 파이팅!

최근 검색 기록